正则表达式给出错误的输出
Regular expression giving incorrect output
我使用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
相关文章:
- Datetime格式为Friendly Time.Moment JS输出错误
- 一个ajax循环有两个输出错误innerHTML
- Jasmine与Jasminece:输出错误到控制台
- 函数中输出错误的错误消息
- jQuery click()多次输出错误按钮的信息
- Javascript InnerHTML 输出错误
- 石头剪刀布蜥蜴斯波克游戏逻辑偶尔会输出错误的赢家,我不知道为什么
- JavaScript 控制台.log输出错误的数组长度
- 安装程序 prerender.io 仅从 PhantomJS 输出错误消息
- 聊天应用输出错误 - 角度.JS
- javascript中的字符串串联输出错误的结果
- Webpack输出错误的图像路径
- Google Groups API输出错误
- Gulp-remember似乎输出错误的路径
- Javascript输出错误
- 网页浏览器输出错误
- Javascript Date toJSON()输出错误的日期
- Javascript程序不断输出错误的数组索引
- D3线性色阶输出错误
- Javascript在浏览器中输出错误