दिलचस्प पोस्ट
एएसपी.नेट 5 WCF सेवा संदर्भ जोड़ें दिए गए इंटरफ़ेस को लागू करने वाले सभी वर्गों को कैसे खोजें? लोड किए गए निबन्ध लेकिन 'व्यू' आउटलेट सेट नहीं किया गया था पेंट कैसे काम करता है? जावा की एल संख्या (लंबी) विनिर्देश Google मैप्स: कैसे देश, राज्य / प्रांत / क्षेत्र, शहर को एक अक्षांश / लंबा मूल्य दिया जाना है? नई Google स्प्रेडशीट सीमा प्रकाशित करें Google Play सेवाएं लाइब्रेरी अपडेट और अनुपलब्ध प्रतीक @ पूर्णांक / google_play_services_version क्या क्वेरी स्ट्रिंग पैरामीटर HTTPS (HTTP + SSL) में सुरक्षित हैं? जावा एसई / ईई / एमई के बीच का अंतर? .gitignore और .gitkeep के बीच अंतर क्या हैं? त्रुटि: एम 2 ई एक्लिप्स में स्थापित करें file_get_contents काम नहीं कर रहा है? जांचें कि क्या स्क्रीन पर स्क्रीन दिखाई दे रहा है जीआईटी धक्का उत्पत्ति मास्टर के बजाय उपयोग के लिए refs / for / master

जावास्क्रिप्ट 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)। क्या मेरे कोड में कुछ गड़बड़ है? मैंने इस कोड को विभिन्न जावास्क्रिप्ट संपादकों पर ऑनलाइन करने की कोशिश की है और यह ठीक काम करता है।

Solutions Collecting From Web of "जावास्क्रिप्ट 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 वाक्यविन्यास का उपयोग करते हैं