如何检查一个字符串是否只包含[a-zA-Z]
字符?
示例:
var str = '123z56';
如何检查一个字符串是否只包含[a-zA-Z]
字符?
示例:
var str = '123z56';
无需使用jQuery
if (str.match(/[a-z]/i)) {
// alphabet letters found
}
match(/[a-z]/i)
会返回 true
还是 false
?中间的 i
是什么意思? - user3050478i
标志用于不区分大小写。match
函数返回匹配项的数组。如果没有匹配项,则返回一个空数组,相当于false
(只要您不使用三个等号符号)。 - SkeetsYou can use regex:
/[a-z]/i.test(str);
i
使正则表达式忽略大小写。你还可以这样做:
/[a-z]/.test(str.toLowerCase());
var a = 1; /[a-z]/i.test(a)
返回 false。而 a.match
是一个未定义的方法。 - Håvard Geithus啊,我自己找到了答案:
if (/[a-zA-Z]/.test(num)) {
alert('Letter Found')
}
const hasOnlyLetters = !!value.match(/^[a-z]*$/i);
!!
将非布尔值转换为布尔值。(实际上,这与应用两次!
完全相同,事实上您可以使用多个!
多次切换真假性。)/.../i
分隔符是/
,i
表示以不区分大小写的方式评估语句。^...$
^
表示查看字符串的开头。 $
表示查看字符串的结尾,并且一起使用时,表示考虑整个字符串。可以在这些边界之外添加更多内容到正则表达式中,例如添加/前缀或后缀等等。[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
}