संभावित डुप्लिकेट:
अंतिम पोस्टल कोड और ज़िप रीजेक्स क्या है?
मुझे Regex की आवश्यकता है जो ज़िप-कोड के लिए मेरे सभी तीन कंडोमों को संतुष्ट कर सकता है। Eg-
- 12345
- 12345-6789
- 12345 1234
किसी भी संकेत और सुझाव बहुत सराहना की जाएगी। धन्यवाद !
संभावित डुप्लिकेट:
अंतिम पोस्टल कोड और ज़िप रीजेक्स क्या है?
मुझे Regex की आवश्यकता है जो ज़िप-कोड के लिए मेरे सभी तीन कंडोमों को संतुष्ट कर सकता है। Eg-
किसी भी संकेत और सुझाव बहुत सराहना की जाएगी। धन्यवाद !
जवाबों:
^\d{5}(?:[-\s]\d{4})?$
^ = स्ट्रिंग की शुरुआत।\d{5} = मैच 5 अंक (शर्त 1, 2, 3 के लिए)(?:…) = समूहन[-\s] = एक स्थान से मिलान करें (शर्त 3 के लिए) या एक हाइफ़न (शर्त 2 के लिए)\d{4} = मैच 4 अंक (शर्त 2, 3 के लिए)…? = इसके पहले पैटर्न वैकल्पिक है (शर्त 1 के लिए)$ = तार का अंत।\sटैब और नई लाइनों सहित किसी भी व्हाट्सएप से मेल खाएगा।
00544एक मान्य ज़िप कोड है; 544नहीं है।
/(^\d{5}(?:[\s]?[-\s][\s]?\d{4})?$)/
केवल सूचीबद्ध तीन स्थितियों के लिए, ये अभिव्यक्तियाँ भी काम कर सकती हैं:
^\d{5}[-\s]?(?:\d{4})?$
^\[0-9]{5}[-\s]?(?:[0-9]{4})?$
^\[0-9]{5}[-\s]?(?:\d{4})?$
^\d{5}[-\s]?(?:[0-9]{4})?$
यदि हमारे पास 5 और 4 अंकों या एक निरंतर 9 अंकों के ज़िप कोड के बीच अनपेक्षित अतिरिक्त स्थान होते, जैसे:
123451234
12345 1234
12345 1234
उदाहरण के लिए यह अभिव्यक्ति कम बाधाओं के साथ एक माध्यमिक विकल्प होगा:
^\d{5}([-]|\s*)?(\d{4})?$
jex.im नियमित अभिव्यक्ति की कल्पना करता है:
const regex = /^\d{5}[-\s]?(?:\d{4})?$/gm;
const str = `12345
12345-6789
12345 1234
123451234
12345 1234
12345 1234
1234512341
123451`;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
मुझे पता है कि यह उन लोगों के लिए स्पष्ट हो सकता है जो RegEx का अक्सर उपयोग करते हैं, लेकिन यदि कोई भी पाठक RegEx में नया है, तो मैंने सोचा कि मुझे एक अवलोकन करना चाहिए जो मैंने बनाया था जो कि मेरी एक परियोजना के लिए सहायक था।
@Kennytm से पिछले उत्तर में:
^\d{5}(?:[-\s]\d{4})?$
...? = इसके पहले पैटर्न वैकल्पिक है (शर्त 1 के लिए)
यदि आप मानक 5 अंक और +4 ज़िप कोड दोनों की अनुमति देना चाहते हैं, तो यह एक बेहतरीन उदाहरण है।
अमेरिका के 'ज़िप + 4' प्रारूप में केवल ज़िप कोड का मिलान करने के लिए जैसा कि मुझे करने की आवश्यकता थी (केवल 2 और 3 स्थितियां), बस अंतिम को हटा दें ?ताकि यह हमेशा अंतिम 5 वर्ण समूह से मेल खाए।
RegEx के साथ छेड़छाड़ के लिए मेरे द्वारा सुझाए गए एक उपयोगी उपकरण नीचे दिए गए हैं:
मैं इस उपकरण का उपयोग अक्सर करता हूं जब मुझे पता चलता है कि मैं क्या जरूरत है के समान कुछ करता है, लेकिन थोड़ा बेहतर सिलवाया जा सकता है। इसमें एक निफ्टी RegEx संदर्भ मेनू और सूचनात्मक इंटरफ़ेस भी है जो आपको बताता है कि आपके परिवर्तन आपके द्वारा दर्ज किए गए नमूना पाठ के लिए मैचों को कैसे प्रभावित करते हैं।
अगर मुझे कुछ गलत लगा या जानकारी का एक महत्वपूर्ण हिस्सा छूट गया, तो कृपया मुझे सुधारें।
\d{5}([ \-]\d{4})?।