2011-01-04 17 views
18

पर स्ट्रिंग मुझे यकीन है कि यह कुछ छोटा है जिसे मैं याद कर रहा हूं लेकिन मैं इसे समझने में सक्षम नहीं हूं।जावास्क्रिप्ट नियमित अभिव्यक्ति - RegEx ऑब्जेक्ट

मैं इसमें regex पैटर्न के साथ JavaScript वैरिएबल है, लेकिन मैं नहीं कर सकते यह रेगुलर एक्सप्रेशन से वर्ग

के साथ काम करने के लिए सक्षम होने लगते हैं हमेशा निम्न गलत का आकलन:

var value = "[email protected]"; 
var pattern = "^\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,3}$" 
var re = new RegExp(pattern); 
re.test(value); 

लेकिन अगर मैं एक उचित regex अभिव्यक्ति में इसे बदल (उद्धरण को दूर करने और शुरू में / और पैटर्न के अंत जोड़कर), है कि काम शुरू:

var value = "[email protected]"; 
var pattern = /^\[email protected][a-zA-Z_]+?\.[a-zA-Z]{2,3}$/ 
var re = new RegExp(pattern); 
re.test(value); 

क्योंकि मैं हमेशा एक चर में स्ट्रिंग के रूप में पैटर्न प्राप्त करता हूं, इसलिए मैं यह पता लगाने में सक्षम नहीं हूं कि मैं यहां क्या खो रहा हूं।

उत्तर

24

बैकस्लैश तार में विशेष वर्ण एक और बैकस्लैश के साथ भाग जाने की जरूरत है कि कर रहे हैं:

var value = "[email protected]"; 
var pattern = "^\\[email protected][a-zA-Z_]+?\\.[a-zA-Z]{2,3}$" 
var re = new RegExp(pattern); 
re.test(value); 
+0

OMG मुझे पता था कि यह बहुत आसान है कि मैं याद आ रही थी कुछ था। धन्यवाद!! – shake

संबंधित मुद्दे