正则表达式小问题

veardn 2009-11-05 04:27:24
我这里有个验证邮箱的函数

function isEmail(str){
var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
return reg.test(str);
}

这个函数有个缺点,就是xx.xx@qq.com这种是不通过的,后来老板叫我改下。

我改成 var reg = /^([a-zA-Z0-9_-.])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-.])+/; js脚本执行到这个function后好像会出现异常,不往下走了。

后来改成 var reg = /^([a-zA-Z0-9_-.])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9._-])+/; 就可以了,有高手能解释下吗?
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcwtitxu 2009-11-06
  • 打赏
  • 举报
回复
发现些问题,改下:

var reg = /^[a-z\d][a-z\d_.-]*@[a-z\d][a-z0-9]*(?:\.[a-z\d][a-z0-9]*)+$/i;
wcwtitxu 2009-11-06
  • 打赏
  • 举报
回复

var reg = /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
xiaofan_sap 2009-11-05
  • 打赏
  • 举报
回复
有问题啊 lz 你的正则不对啊
yyz985 2009-11-05
  • 打赏
  • 举报
回复
- -> \-
. -> \.
msdnlu 2009-11-05
  • 打赏
  • 举报
回复
. Any character except newline or another Unicode line terminator.
dh20156 2009-11-05
  • 打赏
  • 举报
回复
参见:

http://www.jslab.org.cn/?tag=easyValidate

中的Rule:isEmail
tank_pp 2009-11-05
  • 打赏
  • 举报
回复
结贴吧
veardn 2009-11-05
  • 打赏
  • 举报
回复
写错了,

这个函数有个缺点,就是xx.xx@qq.com这种是不通过的,后来老板叫我改下。

我改成 var reg = /^([a-zA-Z0-9_-.])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-.])+/; js脚本执行到这个function后好像会出现异常,不往下走了。

后来改成 var reg = /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9._-])+/; 就可以了,有高手能解释下吗?
SATAN1122 2009-11-05
  • 打赏
  • 举报
回复
正则里-是特殊符号,A-Z就用到了-,所以你如果要匹配正常的-,要不用加转义符号,要不放在开头或结尾·

87,993

社区成员

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

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