2013-02-08 343 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

相关问题