所以我试过这个:
if (/^[a-zA-Z]/.test(word)) {
// code
}
它不接受这个: " "
但它确实接受这个:"word word"
,它确实包含一个空格:/
有没有好的方法可以做到这一点?
所以我试过这个:
if (/^[a-zA-Z]/.test(word)) {
// code
}
它不接受这个: " "
但它确实接受这个:"word word"
,它确实包含一个空格:/
有没有好的方法可以做到这一点?
有了/^[a-zA-Z]/
你只检查的第一个字符:
^
: 断言字符串开头的位置[a-zA-Z]
: 匹配以下列表中的单个字符:
a-z
: 介于“a”和“z”之间的字符A-Z
: 介于“A”和“Z”之间的字符如果要检查所有字符是否都是字母,请改用以下命令:
/^[a-zA-Z]+$/.test(str);
^
: 断言字符串开头的位置[a-zA-Z]
: 匹配以下列表中的单个字符:
+
:在一次和无限次之间,尽可能多,根据需要回馈(贪婪)a-z
: 介于“a”和“z”之间的字符A-Z
: 介于“A”和“Z”之间的字符$
: 断言字符串末尾的位置(或字符串末尾的换行符之前,如果有的话)或者,使用不区分大小写的标志i
,您可以将其简化为
/^[a-z]+$/i.test(str);
或者,由于您只想test
,而不是match
,您可以检查相反的情况并否定它:
!/[^a-z]/i.test(str);
最快的方法是检查是否有非字母:
if (!/[^a-zA-Z]/.test(word))
你需要
/^[a-zA-Z]+$/
目前,您在输入的开头匹配单个字符。如果您的目标是从头到尾匹配字母字符(一个或多个),那么您需要重复 az 字符匹配(使用+
)并指定要一直匹配到结尾(通过$
)
试试这个
var Regex='/^[^a-zA-Z]*$/';
if(Regex.test(word))
{
//...
}
我认为它会为你工作。
尝试在您的模式中添加\S
^[A-Za-z]\S*$