邮箱正则匹配问题求助:test@tatsu.works验证失败排查
邮箱正则验证问题排查与解决
问题场景
使用以下正则做邮箱验证:
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
测试邮箱test@tatsu.works时,始终提示“Please Enter Valid Email ID”。
问题分析
.works作为域名后缀长度为5,而正则末尾的{2,4}限制了后缀长度只能在2-4位之间,这是匹配失败的根本原因。
调试误区与解决
最初将长度限制改为{2,6}后仍报错,误以为正则调整无效,实际是Chrome浏览器未刷新最新的JS代码(疑似缓存或Cookie导致)。切换到Edge浏览器后,无论是改为{2,6}还是{2,}(完全放开后缀长度限制,支持任意长度域名后缀),正则都能正常验证目标邮箱。
最终可用正则(支持任意长度域名后缀)
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,})$/;
内容的提问来源于stack exchange,提问作者user2741620
相关产品推荐
相关产品推荐

