我正在使用正则表达式来验证字符串是否只包含字母和空格。正则表达式定义为
var regex = /^[A-Za-z ]/;
但即使我用字符串“X”测试它,它也会给出真实的结果。
这里有什么错误?
答案 0 :(得分:1)
^[A-Za-z ]
只匹配一个字符。而^
表示字符串的开头。要完成您想要的任务,请使用:
+
- 这意味着匹配一个或多个。或者,您可以使用:
*
- 表示匹配零或更多。
但我认为你最好用第一个(+
)。另一件事是,匹配整个字符串。这意味着您必须从第一个字符到最后一个字符进行搜索。
$
- 这意味着匹配结束。
您的代码应该是这样的:
var regex = /^[A-Za-z ]+$/;
答案 1 :(得分:0)
你的正则表达式匹配输入的第一个字母,因此返回true ..你需要添加$
以确保只匹配从开头(^
)到结尾的完整字符串($
)。
var regex = /^[A-Za-z ]*$/;
答案 2 :(得分:0)
尝试使用:
/^[a-zA-Z\ ]+$/
答案 3 :(得分:0)