आप में एक चरित्र रेंज मिल गया है: जो )
और =
(नंबर सहित) के बीच सभी ASCII वर्ण शामिल )-=
यहां एक नमूना है। इसके अलावा
/[`~,.<>;':"\/\[\]\|{}()=_+-]/
, आप उन पात्रों के सभी से बचने के लिए की जरूरत नहीं है: वर्ग के अंत तक -
ले जाएँ या भागने यह है कि आपके मामले में, यह शायद है
/[`~,.<>;':"/[\]|{}()=_+-]/
नोट आप के लिए पर्याप्त, test
बजाय match
उपयोग करने के लिए:
if (/[`~,.<>;':"/[\]|{}()=_+-]/.test(testString))){
...
test
एक बूलियन (जो सभी की जरूरत है) देता है, जबकि match
सभी कैप्चरिंग समूहों के साथ एक सरणी देता है (जिसे आप वैसे भी छोड़ रहे हैं)।
ध्यान दें कि, जैसा कि डैरेन थॉमस एक टिप्पणी में बताते हैं, आपको यह तय करना चाहिए कि आप कौन से पात्र की अनुमति देते हैं। चूंकि वर्तमान दृष्टिकोण _
जैसे कुछ मानक मानकों के बारे में शिकायत करते समय अजीब यूनिकोड वर्णों के सभी प्रकारों का ख्याल नहीं रखता है। एक श्वेत सूची बनाने के लिए, आप बस दोनों चरित्र वर्ग और हालत को उलटने के कर सकते हैं:
if (!/[^a-zA-Z0-9]/.test(testString)) {
...
और सभी पात्रों आप अनुमति देना चाहते हैं शामिल हैं।
स्रोत
2013-08-23 08:17:24
जबकि आप अपने regex को ठीक करने के लिए @ m.buettner के उत्तर का उपयोग कर सकते हैं, आप अभी भी इसे गलत कर रहे हैं: इसके बजाय * वैध * वर्ण निर्दिष्ट करते हुए एक टाइमलिस्ट अप्राच का उपयोग करें! –
@DarenThomas पूरी तरह से सहमत हैं –
मेरे पास केवल वैध वर्णों की जांच करने के लिए स्थिति है, लेकिन मैंने इसे सर्वर की तरफ इस्तेमाल किया। मैं अभी क्या कर रहा हूं एक क्लाइंट साइड फ़ंक्शन बना रहा है जो जांच करेगा कि अनुमति देने वाले कुछ वर्ण मौजूद हैं या नहीं, कमजोर करने के लिए पासवर्ड संकेतक सिग्नल बदलें। – Gerald