如何在Javascript中检查字符串是否包含字母字符

PHP*_*oob 62 javascript

我想检查字符串值是否包含字母/ s [a-zA-Z]

示例:

var str = '123z56';
Run Code Online (Sandbox Code Playgroud)

jon*_*ohn 108

没有jQuery需要

if (str.match(/[a-z]/i)) {
    // alphabet letters found
}
Run Code Online (Sandbox Code Playgroud)

  • `i`标志用于不区分大小写.`match`函数返回匹配数组.如果没有匹配,则返回一个空数组,相当于`false`(只要你没有使用三等号.) (2认同)

Ble*_*der 44

你可以使用正则表达式:

/[a-z]/i.test(str);
Run Code Online (Sandbox Code Playgroud)

i使得正则表达式不区分大小写.你也可以这样做:

/[a-z]/.test(str.toLowerCase());
Run Code Online (Sandbox Code Playgroud)


Ric*_*lis 13

我很惊讶这里的答案得到了如此多的支持,而没有一个人真正回答了这个问题。以下是如何确保给定字符串中仅包含拉丁字符。

const hasOnlyLetters = !!value.match(/^[a-z]*$/i);
Run Code Online (Sandbox Code Playgroud)

take!!将非布尔值转换为布尔值。(这与应用两次完全相同!,事实上,您可以使用!任意数量的值来多次切换真实性。)

至于正则表达式,这里是细分。

  • /.../i分隔符是 a /,并且i以不区分大小写的方式评估语句的方法。
  • ^...$^查看字符串开头的方法。表示$查看字符串的末尾,一起使用时表示考虑整个字符串。您可以在这些边界之外向正则表达式添加更多内容,例如附加/前置所需的后缀或前缀。
  • [a-z]*这部分说要查找所有小写字母。(不区分大小写的修饰符意味着我们也不需要查看大写字母。)最后的*表示我们应该匹配括号中的内容任意次数。这样,“abc”将匹配,而不仅仅是“a”或“b”,依此类推。


PHP*_*oob 11

啊,我自己找到了答案:

if (/[a-zA-Z]/.test(num)) {
  alert('Letter Found')
}
Run Code Online (Sandbox Code Playgroud)


Som*_*now 5

不需要jquery:

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