正则表达式给出错误的输出

Regular expression giving incorrect output

本文关键字:输出 错误 出错 正则表达式      更新时间:2023-09-26

我使用regex来验证字符串是否只包含字母和空格。Regex定义为

var regex = /^[A-Za-z ]/;

但即使我用字符串"X"测试它,它也给出了真实的结果。

这里的错误是什么?

^[A-Za-z ]只匹配一个字符。并且CCD_ 2表示字符串的开始。要完成您想要的,请使用:

+-这意味着匹配一个或多个。或者,您可以使用:

*-这意味着匹配零或更多。

但我认为你最好选择第一个(+)。另一件事是,匹配整个字符串。这意味着您必须从第一个字符到最后一个字符进行搜索。

$-这意味着匹配结束。

你的代码应该是这样的:

var regex = /^[A-Za-z ]+$/;

正则表达式与输入的第一个字母匹配,因此返回true。。您需要添加$,以确保只匹配从开头(^)到结尾($)的完整字符串。

var regex = /^[A-Za-z ]*$/;

尝试使用这个:

/^[a-zA-Z' ]+$/

这是正确的方法:

/^[A-Za-z ]*$/

Regex Demo