2012-05-27 12 views
10

मेरे पास निम्न कोड है। यह केवल तभी काम करता है जब मेरे पास 2 अंक हों। यदि मेरे पास 1 अंक है तो काम नहीं करता है। मैं दोनों मामलों में काम करना चाहता हूं: एक या दो अंक।
var numberRegex = /^[1-9][0-9]$/;
मैं कुछ इस तरह की कोशिश की है लेकिन दुर्भाग्य से काम नहीं करता है:
var numberRegex = /^[1-9]?[1-9][0-9]$/;
समर्थन के लिए धन्यवाद।एक या दो अंकीय अंक रेगेक्स

उत्तर

15

इस एक बाहर का प्रयास करें:

/^\d{1,2}$/; 

पढ़ना यह लग रहा है क्या आप की तरह आप 01 की तरह संख्या स्वीकार करने के लिए नहीं करना चाहती।

/^\d{1}|[1-9]\d{1}$/; 
+0

दूसरा रेगेक्स बिल्कुल सही नहीं है। '|' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' है आप केवल '[1-9] 'वैकल्पिक बनाकर सरल बना सकते हैं। '/^[1-9]? \ D {1} $ /' –

+0

बस एहसास हुआ कि आप और भी बेहतर कर सकते हैं - '\ d {1}' अनावश्यक है, और '\ d' के बराबर है। –

+6

मैं '/^[1-9]? \ D $ /' के साथ जाऊंगा, वैकल्पिकता की आवश्यकता नहीं है, केवल प्रमुख अंक वैकल्पिक बनाएं। –

0

इस regex का प्रयास करें: /^[1-9]\d{0,1}$/

1

इस प्रयास करें।

/^[0-9]|[0-9][0-9]$/ 

यह नौकरी करना चाहिए। एक या ऑपरेटर का उपयोग करना यह करता है।

+0

यह रेगेक्स के शुरुआती लोगों के लिए एक उत्कृष्ट समाधान है – GoreDefex

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