दिलचस्प पोस्ट
कैसे सभी ब्राउज़रों के लिए खड़ी एक div के केंद्र में? मैं सुपर () का उपयोग कब करता हूं? प्रॉपर्टी नाम पर अंडरस्कोर उपसर्ग? कुछ फ़ील्ड पर डुप्लिकेट ढूंढने के लिए कथन चुनें पायथन थ्रेडिंग एकाधिक बैश उपप्रक्रिया? कैसे mysql में नाम स्ट्रिंग विभाजित करने के लिए? मैं urllib2 के साथ SOCKS 4/5 प्रॉक्सी का उपयोग कैसे कर सकता हूं? किसी तत्व के भीतर कॉलम ब्रेक को कैसे रोकें? यह प्रतीक जावास्क्रिप्ट में क्या मतलब है? UIViewContentModeScaleAspectFit और UIViewContentModeScaleToFill में अंतर? इतिहास स्टैक से कोई गतिविधि निकालना अतिव्यापी घटनाओं के साथ स्ट्रिंग गणना जावास्क्रिप्ट के जरिए एफएफ और क्रोम में मैं डिफ़ॉल्ट होमपेज कैसे सेट कर सकता हूं? मेवेन रिपॉजिटरी से स्रोत जेआरएस प्राप्त करें iPhone कीबोर्ड कवर UITextField

जावास्क्रिप्ट RegEx नहीं कार्य करना

मेरे पास निम्न जावास्क्रिप्ट कोड है:

function checkLegalYear() { var val = "02/2010"; if (val != '') { var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g"); if (regEx.test(val)) { //do something } else { //do something } } } 

हालांकि, मेरा रेगएक्स परीक्षण हमेशा किसी भी मूल्य के लिए मैं झूठ देता हूं (02/2010)। क्या मेरे कोड में कुछ गड़बड़ है? मैंने इस कोड को विभिन्न जावास्क्रिप्ट संपादकों पर ऑनलाइन करने की कोशिश की है और यह ठीक काम करता है।

वेब के समाधान से एकत्रित समाधान "जावास्क्रिप्ट RegEx नहीं कार्य करना"

क्योंकि आप एक स्ट्रिंग से अपना नियमित अभिव्यक्ति बना रहे हैं, आपको अपने बैकस्लैश को दोहरा देना होगा:

 var regEx = new RegExp("^(0[1-9]|1[0-2])/\\d{4}$", "g"); 

इसके बजाय नियमित अभिव्यक्ति वाक्यविन्यास का उपयोग करने के लिए यहां कोई कारण नहीं है:

 var regEx = /^(0[1-9]|1[0-2])\/\d{4}$/g; 

संपादित करें – मैंने यह भी नोट किया है कि एक एम्बेडेड "/" वर्ण है, जिसे उद्धृत करना होगा यदि आप regex वाक्यविन्यास का उपयोग करते हैं