小白关于正则表达式的初级问题

qq_22041917 2018-04-15 09:10:03
代码如下
var re = /^[a-z0-9\.]+\@[a-z0-9]+\.com|\.org$/i;
var mail = "@voyager.org";

var bl = re.test(mail);
console.log(bl);

我想问一下匹配为什么会通过呢?返回的是true。
正常不应该是以至少一个【字母、数字或点】开头才对吗?
这个测试的email地址@前面什么都没有,是怎么通过匹配的。

希望大家可以帮忙解答一下。
...全文
215 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_22041917 2018-04-15
  • 打赏
  • 举报
回复
@老鼠拧刀满街找猫 非常感谢解答,没有注意到正则表达式的优先级问题,受教了。
  • 打赏
  • 举报
回复
这是你的正则匹配的结果 要改为以下这样

^[a-z0-9\.]+\@[a-z0-9]+\.(com|org)$
优先级问题,或者关系的你得用括号括起来

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧