जावास्क्रिप्ट रिप्लेस केवल पहले इंस्टेंस को ही क्यों रिप्लेस करता है: रेगएक्सपी फ्लैग की खोज
एक स्ट्रिंग को दूसरे के साथ खोजने और बदलने के लिए जावास्क्रिप्ट की रिप्लेस विधि का उपयोग करते समय , आपको ऐसे व्यवहार का सामना करना पड़ सकता है जहां लक्ष्य स्ट्रिंग का केवल पहला उदाहरण प्रतिस्थापित किया गया है। यह व्यवहार इसलिए होता है क्योंकि रिप्लेस का डिफ़ॉल्ट व्यवहार एकल, गैर-वैश्विक खोज और रिप्लेस ऑपरेशन करना है।
ग्लोबल रिप्लेस: द रेगएक्सपी फ्लैग
सभी को बदलने के लिए एक स्ट्रिंग में लक्ष्य स्ट्रिंग के उदाहरणों के लिए, आपको प्रतिस्थापन विधि में प्रयुक्त नियमित अभिव्यक्ति में "वैश्विक" ध्वज (जी) निर्दिष्ट करने की आवश्यकता है। यह ध्वज इंगित करता है कि लक्ष्य स्ट्रिंग की प्रत्येक घटना को प्रतिस्थापित करते हुए, खोज और प्रतिस्थापन ऑपरेशन संपूर्ण स्ट्रिंग में होना चाहिए।
उदाहरण के लिए, आपके कोड में:
var date = $('#Date').val(); // e.g., "12/31/2009"
var id = 'c_' date.replace("/", ''); // c_1231/2009 (wrong)
"/" वर्ण की सभी घटनाओं को बदलने के लिए, आपको "वैश्विक" ध्वज निर्दिष्ट करना होगा:
var id = 'c_' date.replace(new RegExp("/", "g"), ''); // c_12312009 (correct)
वैकल्पिक रूप से, आप छोटे सिंटैक्स का उपयोग कर सकते हैं:
var id = 'c_' date.replace(/\//g, ''); // c_12312009 (correct)
"वैश्विक" ध्वज निर्दिष्ट करके, प्रतिस्थापन विधि दिनांक स्ट्रिंग में प्रत्येक स्लैश वर्ण को प्रतिस्थापित कर देगी, जिसके परिणामस्वरूप सही आउटपुट प्राप्त होगा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3