javascript - 正则表达式的意外结果

标签 javascript regex

有人可以向我解释一下为什么下面的正则表达式会返回 true,它应该测试任何大写字符串后跟 @ 后跟字符串,为什么最后一部分中存在数字不会使它失败? 我从 chrome 控制台和 javascript 代码运行它,尽管在 https://regex101.com 上进行测试,但我得到了相同的结果。似乎工作正常。

/[A-Z]+@[A-Z]+\.[A-Z]+/.test('AAA@AAA.A1A');

最佳答案

因为你没有使用 anchor 。 anchor 有助于进行精确匹配(不是部分匹配)。

/^[A-Z]+@[A-Z]+\.[A-Z]+$/.test('AAA@AAA.A1A');

^ 断言我们位于行首,$ 断言我们位于行尾。

关于javascript - 正则表达式的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31750799/

相关文章:

javascript - 在 Android 4.0.4 中的 Flexbox Modal 中看不到 MediaElement Player 上的控件

javascript - 带有 postcss-loader 的 Webpack 无法识别 precss

javascript - 是否可以为每个选择器设置不同的值?

javascript - 正则表达式 JavaScript 问题

python - 如果不在括号内则拆分

python - 在 ply 的正则表达式中匹配 unicode

javascript - 调用对象内的函数作为指令的参数

java - 修改 "Black Box"Servlet响应输出

mysql中使用正则表达式进行mysql查询

javascript - Facebook 评论框重定向到一些奇怪的 URL