जावास्क्रिप्ट में केस-असंवेदनशील रेगेक्स मिलान करना
यूआरएल के साथ काम करते समय, अक्सर क्वेरी स्ट्रिंग से डेटा निकालना आवश्यक होता है। जावास्क्रिप्ट में, इस निष्कर्षण को करने के लिए नियमित अभिव्यक्तियों का उपयोग करना सीधा हो सकता है, लेकिन केस-असंवेदनशीलता सुनिश्चित करना चुनौतीपूर्ण हो सकता है।
इस पोस्ट में, हम एक सामान्य मुद्दे का पता लगाते हैं जहां केस-संवेदी तुलना से असंगत परिणाम हो सकते हैं। आइए निम्नलिखित कोड स्निपेट पर विचार करें:
var results = new RegExp('[\\?&]' name '=([^&#]*)').exec(window.location.href); if (!results) { return 0; } return results[1] || 0;
इस कोड का उद्देश्य वर्तमान यूआरएल से 'नाम' नामक क्वेरी स्ट्रिंग पैरामीटर का मान निकालना है। हालाँकि, यह क्वेरी स्ट्रिंग नाम के लिए केस-असंवेदनशील तुलना नहीं करता है, जिसके परिणामस्वरूप यदि नाम अलग-अलग आवरण के साथ दर्ज किया जाता है तो अप्रत्याशित व्यवहार हो सकता है।
इस समस्या को हल करने के लिए, हम 'i' का उपयोग कर सकते हैं तुलना को केस-असंवेदनशील बनाने के लिए हमारे नियमित अभिव्यक्ति में संशोधक। इस संशोधक को रेगुलर एक्सप्रेशन में अंतिम फॉरवर्ड स्लैश के तुरंत बाद जोड़ा जाना चाहिए, जैसा कि नीचे देखा गया है:
var results = new RegExp('[\\?&]' name '=([^&#]*)', 'i').exec(window.location.href);
'i' संशोधक को शामिल करके, रेगुलर एक्सप्रेशन अब क्वेरी स्ट्रिंग नाम के मामले को अनदेखा कर देगा, यह सुनिश्चित करते हुए कि इनपुट के आवरण की परवाह किए बिना तुलना सफल होगी।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3