正则表达式的意外结果

时间:2015-07-31 16:21:25

标签: javascript regex

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

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

1 个答案:

答案 0 :(得分:3)

因为你没有使用锚点。锚点有助于完全匹配(非部分匹配)。

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

^声称我们处于起点,$声称我们处于一条线的末端。