有人可以向我解释为什么以下正则表达式会返回true,它应该测试任何大写字符串后跟@后跟字符串,为什么最后一部分中的数字的存在不会使它成为失败? 我从chrome控制台和javascript代码运行它,我得到相同的结果,虽然在https://regex101.com上测试似乎工作正常。
/[A-Z]+@[A-Z]+\.[A-Z]+/.test('AAA@AAA.A1A');
答案 0 :(得分:3)
因为你没有使用锚点。锚点有助于完全匹配(非部分匹配)。
/^[A-Z]+@[A-Z]+\.[A-Z]+$/.test('AAA@AAA.A1A');
^
声称我们处于起点,$
声称我们处于一条线的末端。