2012-08-17 11 views
5

मुझे जावा रेगेक्स अभिव्यक्ति चाहिए जो केवल संख्याओं और बिंदुओं को स्वीकार करे।केवल संख्याओं और बिंदुओं को सत्यापित करने के लिए रेगेक्स

उदाहरण के लिए

,

   1.1.1 ----valid 
      1.1 ----valid 
      1.1.1.1---valid 
      1. ----not valid 

डॉट्स प्रारंभिक स्थिति में या समाप्त होने की स्थिति में नहीं होना चाहिए।

+2

तरह के बारे में क्या '" .1 "', '" 1 ..1 "', '" 1.11 "'? क्या आपने पहले ही कुछ कोशिश की है? यदि हां, तो क्या आप इसे भी पोस्ट कर सकते हैं और समझा सकते हैं कि क्या गलत हुआ? –

+0

एक एकल अंक मान्य होगा! – Anirudha

+0

बिना डॉट्स के नंबरों के बारे में क्या? दूसरे शब्दों में, डॉट वैकल्पिक या आवश्यक है? – tripleee

उत्तर

17

मैं इस लगता है कि आप क्या चाहते है:

^\d+(\.\d+)*$ 

स्पष्टीकरण: यह बिंदु के द्वारा अलग नंबरों स्वीकार करता है; यह संख्या के साथ शुरू होता है और समाप्त होता है; एक संख्या में कई अंक हो सकते हैं; डॉट्स के बिना एक नंबर भी स्वीकार किया जाता है।

कई अंक के बिना संस्करण:

^\d(\.\d)*$ 

प्रकार जहां कम से कम एक डॉट की जरूरत है:

^\d+(\.\d+)+$ 
^\d(\.\d)+$ 

मत भूलना जावा में आप \ प्रतीकों से बचने के लिए है, तो कोड है कि इस तरह दिखेगा:

Pattern NUMBERS_WITH_DOTS = Pattern.compile("^\\d+(\\.\\d+)*$"); 
1

तो आप एक रेगेक्स चाहते हैं जो संख्याएं और अवधि चाहता है लेकिन एक संख्या के साथ शुरू होता है और समाप्त होता है?

"[0-9][0-9.]*[0-9]" 

लेकिन यह 1 जैसी चीज़ों से मेल नहीं खा रहा है। जिसमें कोई अवधि नहीं है, लेकिन एक संख्या के साथ शुरू और अंत करता है।

0
"^\\d(\\.\\d)*$" 

1  ----valid (if it must be not valid, replace `*` => `+`) 
1.1.1 ----valid 
1.1 ----valid 
1.1.1.1---valid 
1. ----not valid 
11.1.1 ---not valid (if it must be valid, add `+` after each `d`) 
0
<!DOCTYPE html> 
<html> 
<body> 

<p>RegEx to allow digits and dot</p> 
Number: <input type="text" id="fname" onkeyup="myFunction()"> 

<script> 
function myFunction() { 
    var x = document.getElementById("fname"); 
    x.value = x.value.replace(/[^0-9\.]/g,""); 
} 
</script> 

</body> 
</html> 
0

मैं इस लगता है कि आप क्या चाहते:

Pattern.compile("(([0-9](\\.[0-9]*))?){1,13}(\\.[0-9]*)?(\\.[0-9]*)?(\\.[0-9]*)?", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE | Pattern.DOTALL | Pattern.MULTILINE); 

स्पष्टीकरण: यह बिंदु के द्वारा अलग नंबरों स्वीकार करता है; यह संख्या के साथ शुरू होता है और समाप्त होता है; एक संख्या में कई अंक हो सकते हैं; डॉट्स के बिना एक नंबर स्वीकार नहीं किया जाता है।

उत्पादन this--

  • 1,1
  • 1,12
  • 1.1.5
  • 1.15.1.4
संबंधित मुद्दे

 संबंधित मुद्दे