如何检查字符串是否[a-zA-Z]
仅包含字符?
例子:
var str = '123z56';
不需要 jQuery
if (str.match(/[a-z]/i)) {
// alphabet letters found
}
您可以使用正则表达式:
/[a-z]/i.test(str);
使i
正则表达式不区分大小写。你也可以这样做:
/[a-z]/.test(str.toLowerCase());
啊,自己找到了答案:
if (/[a-zA-Z]/.test(num)) {
alert('Letter Found')
}
我很惊讶这里的答案在没有人真正回答问题时得到了如此多的支持。以下是确保给定字符串中只有拉丁字符的方法。
const hasOnlyLetters = !!value.match(/^[a-z]*$/i);
!!
需要将非布尔值转换为布尔值。(这与应用两次完全相同!
,实际上您可以使用任意!
多的次数来多次切换真实性。)
至于RegEx,这里是细目。
/.../i
定界符是一种以不区分大小写/
的i
方式评估语句的方法。^...$
^
查看字符串开头的方法。$
看字符串结尾的意思,和一起使用时,意思是考虑整个字符串。您可以在这些边界之外向 RegEx 添加更多内容,例如附加/前置所需的后缀或前缀。[a-z]*
这部分说要查找所有小写字母。(不区分大小写的修饰符意味着我们也不需要查看大写字母。)*
最后的 表示我们应该多次匹配括号中的内容。这样,“abc”将匹配,而不仅仅是“a”或“b”,等等。不需要jquery:
var matchedPosition = str.search(/[a-z]/i);
if(matchedPosition != -1) {
alert('found');
}
所有这些答案都是正确的,但我还必须检查字符串是否包含其他字符和希伯来字母,所以我简单地使用了:
if (!str.match(/^[\d]+$/)) {
//contains other characters as well
}