2013-02-08 14 views
43

मैं अगर यह युक्त है एक पत्र/एस [a-zA-Z]कैसे जावास्क्रिप्ट में जाँच करने के लिए है कि एक स्ट्रिंग वर्णमाला वर्ण

उदाहरण स्ट्रिंग मान की जाँच करना चाहता था शामिल हैं:

var str = '123z56'; 
+1

इस सवाल का एक अंतर्राष्ट्रीय संस्करण http://stackoverflow.com/questions/2013451/test-if-string-contains-only-letters-az-%C3%A9-%C3 % बीसी-% सी 3% बी 6-% सी 3% एए-% सी 3% ए 5-% सी 3% बी 8-आदि –

उत्तर

74

कोई jQuery

if (str.match(/[a-z]/i)) { 
    // alphabet letters found 
} 
+1

मैं इस सामान के साथ एक नौसिखिया हूं, इसलिए 'मैच (/ [az]/i) 'सत्य वापस आ जाएगा 'या 'झूठा'? और इसके बीच में 'i' क्या है? – user3050478

+0

'i' ध्वज असंवेदनशील मामले के लिए है। 'मैच' फ़ंक्शन मैचों की एक सरणी देता है। यदि कोई मिलान नहीं है, तो यह एक खाली सरणी देता है, जो 'झूठी' के बराबर है (जब तक आप ट्रिपल बराबर संकेतों का उपयोग नहीं कर रहे हैं।) –

7

जरूरत आह, इस सवाल का जवाब मिल गया अपने आप को:

if (/[a-zA-Z]/.test(num)) { 
    alert('Letter Found') 
} 
4

कोई jQuery की जरूरत नहीं है:

var matchedPosition = str.search(/[a-z]/i); 
if(matchedPosition != -1) { 
    alert('found'); 
} 
29

आप regex का उपयोग कर सकते हैं:

/[a-z]/i.test(str); 

i regex केस-संवेदी बना देता है। आप यह भी कर सकता है:

/[a-z]/.test(str.toLowerCase()); 
+3

यह सही उत्तर होना चाहिए। @jondavidjohn का उत्तर केवल मिले पत्र से मेल खाता है। यानी 'str.match (/ [a-z]/i) '। यह जवाब वास्तव में सच या गलत देता है। – samnau

+0

मैं भी इस समाधान को पसंद करता हूं। – bot

+0

इसमें अतिरिक्त लाभ है कि आप एक वेरिएबल के खिलाफ परीक्षण कर सकते हैं जिसमें एक अंक भी है; 'var a = 1; /[a-z]/i.test(a) झूठी वापसी करता है। जबकि 'ए.मैच' एक अपरिभाषित विधि है। –