我在HTML / JS上使用正则表达式时遇到问题。名称字段只能包含字母,但每当我将数字放到字段时,它接受(它应该变成绿色框)。我该如何纠正?
if(!name.match(/[A-Za-z]/)) {
document.getElementById("name").style.backgroundColor = "green";
x = false;
}
答案 0 :(得分:0)
试试这个:
/^[A-Za-z]+$/
注意,如果字段值的空值可以接受,则在模式中使用*
而不是+
。
如果name
变量包含至少一个字母,则您的模式返回true。您应该涵盖整个字段值。
^
表示第一个字符串[A-Za-z]
是一个大小写字母的字符类。它也与[A-z]
+
表示一个或多个字符$
表示字符串结尾