67

如何检查字符串是否[a-zA-Z]仅包含字符?

例子:

var str = '123z56';
4

6 回答 6

119

不需要 jQuery

if (str.match(/[a-z]/i)) {
    // alphabet letters found
}
于 2013-02-08T23:47:00.440 回答
47

您可以使用正则表达式:

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

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

/[a-z]/.test(str.toLowerCase());
于 2013-02-08T23:49:39.173 回答
11

啊,自己找到了答案:

if (/[a-zA-Z]/.test(num)) {
  alert('Letter Found')
}
于 2013-02-08T23:49:00.453 回答
6

我很惊讶这里的答案在没有人真正回答问题时得到了如此多的支持。以下是确保给定字符串中只有拉丁字符的方法。

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

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

至于RegEx,这里是细目。

  • /.../i定界符是一种以不区分大小写/i方式评估语句的方法。
  • ^...$^查看字符串开头的方法。$看字符串结尾的意思,和一起使用时,意思是考虑整个字符串。您可以在这些边界之外向 RegEx 添加更多内容,例如附加/前置所需的后缀或前缀。
  • [a-z]*这部分说要查找所有小写字母。(不区分大小写的修饰符意味着我们也不需要查看大写字母。)*最后的 表示我们应该多次匹配括号中的内容。这样,“abc”将匹配,而不仅仅是“a”或“b”,等等。
于 2020-01-22T21:21:02.460 回答
5

不需要jquery:

var matchedPosition = str.search(/[a-z]/i);
if(matchedPosition != -1) {
    alert('found');
}
于 2013-02-08T23:49:25.710 回答
1

所有这些答案都是正确的,但我还必须检查字符串是否包含其他字符和希伯来字母,所以我简单地使用了:

if (!str.match(/^[\d]+$/)) {
    //contains other characters as well
}
于 2019-01-27T09:45:17.273 回答