शीर्षक में संदर्भित क्वेरी के संदर्भ में, "जावास्क्रिप्ट रेगेक्स काम नहीं कर रहा है" ," एक उपयोगकर्ता को एक समस्या का सामना करना पड़ा जहां एक रेगुलर एक्सप्रेशन (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
}
}
}
उपयोगकर्ता ने रेगेक्स का उपयोग करके वर्ष इनपुट को मान्य करने का प्रयास किया और अप्रत्याशित परिणाम प्राप्त किए। कई ऑनलाइन संपादकों में इस कोड का परीक्षण करने के बावजूद, रेगेक्स गलत रिटर्न देता रहा। रेगेक्स ऑब्जेक्ट। एक स्ट्रिंग से रेगेक्स को परिभाषित करते समय, पार्सिंग प्रक्रिया के दौरान गलत व्याख्या को रोकने के लिए बैकस्लैश वर्णों को दोगुना किया जाना चाहिए। इसे सुधारने के लिए, निम्नलिखित कोड का उपयोग किया जाना चाहिए:
var regEx = new RegExp("^(0[1-9]|1[0-2])//\\d{4 }$", "g");
वैकल्पिक रूप से, सीधे RegEx सिंटैक्स का उपयोग करने की अनुशंसा की जाती है, जो बैकस्लैश को दोगुना करने की आवश्यकता को समाप्त करता है:var regEx = new RegExp("^(0[1-9]|1[0-2])//\\d{4}$", "g");
इन संशोधनों को लागू करके, रेगेक्स को अब इरादा के अनुसार कार्य करना चाहिए, वर्ष इनपुट को मान्य करना और सटीक प्रदान करना चाहिए परिणाम। अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3