2013-02-08 401 views
43

我想檢查它是否包含字母/ s的[A-ZA-Z]如何在Javascript中檢查字符串包含字母字符

字符串值:

var str = '123z56'; 
+1

這個問題的國際化版本http://stackoverflow.com/questions/2013451/test-if-string-contains-only-letters-az-%C3%A9-%C3 %BC-%C3%B6-%C3%AA-%C3%A5-%C3%B8-等 – 2014-09-16 14:47:03

回答

74

沒有jQuery的所需

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

我是這個東西的新手,所以'match(/ [az]/i)'會返回真'或'false'?它的中間有什麼「我」? – user3050478 2017-08-16 14:10:00

+0

「i」標誌用於區分大小寫。 'match'函數返回一個匹配數組。如果沒有匹配,它會返回一個空數組,它相當於'false'(只要你沒有使用三等號)。 – 2017-10-10 16:41:12

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

您可以使用正則表達式:

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

i使正則表達式不區分大小寫。你也可以這樣做:

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

這應該是正確的答案。 @jondavidjohn的答案只與找到的字母匹配。即'str.match(/ [a-z]/i)'。這個答案實際上返回true或false。 – samnau 2015-08-11 16:47:42

+0

我也喜歡這個解決方案。 – bot 2016-02-23 01:48:03

+0

這還有一個額外的好處,你可以用一個數字來測試變量; 'var a = 1; /[a-z]/i.test(a)返回false'。而'a.match'是一個未定義的方法。 – 2016-03-06 17:45:50

相關問題