/ / रेगेक्स | सत्यापन त्रुटि - जावास्क्रिप्ट, regex

रेगेक्स | सत्यापन त्रुटि - जावास्क्रिप्ट, regex

मैं एक संयुक्त राज्य अमेरिका मोबाइल नंबर को सत्यापित करने की कोशिश कर रहा हूं, क्योंकि मैं पहले से निर्मित जावास्क्रिप्ट सत्यापन पुस्तकालय का उपयोग कर रहा हूं इस पिछले एक के साथ regex सत्यापन जो सत्यापन पुस्तकालय के साथ आता है।

पिछले सत्यापन regex:

"telephone":{
"regex":"/^[0-9-() ]{10,10}$/",
"alertText":"* Invalid phone number"},

यह काम करता है 2126661234 लेकिन संयुक्त राज्य अमेरिका मानक में नहीं।

बदलने के बाद:

"telephone":{
"regex":"/^[2-9]d{2}-d{3}-d{4}$/",
"alertText":"* Invalid phone number"},

अब प्रवेश करने पर भी हर प्रविष्टि में मुझे एक त्रुटि मिलती है 212-666-1234 मैं वास्तव में नहीं जानता कि क्या गलत है, इसलिए मैं कुछ मदद की उम्मीद कर रहा हूं।

उत्तर:

उत्तर № 1 के लिए 4

आपको बैकस्लाश से बचने की जरूरत है

"telephone":{
"regex":"/^[2-9]\d{2}-\d{3}-\d{4}$/",
"alertText":"* Invalid phone number"},

/^[2-9]d{2}-d{3}-d{4}$/ केवल रेगेक्स शाब्दिक में काम करता है

var r = /^[2-9]d{2}-d{3}-d{4}$/;

जब आप रेगेक्स को प्रारंभ करने के लिए तारों का उपयोग कर रहे हैं, तो आपको बैकस्लाश से बचना चाहिए

var r = new RegExp("^[2-9]\d{2}-\d{3}-\d{4}$");

जवाब के लिए 0 № 2

ऐसा लगता है कि मूल regex से बच निकलता है - साइन इन करें, इस तरह: -.

मैं आपको अपने दूसरे उदाहरण में ऐसा नहीं कर रहा हूं।