js 正则表达式 邮箱正则
 /([\w-\.]+)@
(
(
\[
[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/

这个正则表达式在@后的第二个小括号之后有一个 [ ,这个东西是什么意思,为什么当字符串出现 [ 时,却匹配不了??

3个回答

它是左中括号,右中括号在倒数第三位的问号前面,它们是一对

A15115071701
A15115071701 回复小睿哥哥: 你这个正则有一个问题就是域名没有长度限制,该如何限制???
4 年多之前 回复
u013538542
Victor.Zhang 这样就行
4 年多之前 回复
u013538542
Victor.Zhang /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
4 年多之前 回复
u013538542
Victor.Zhang 邮箱验证不用这么麻烦
4 年多之前 回复
A15115071701
A15115071701 是啥意思,要怎么匹配,能详细的说说吗
4 年多之前 回复

[\w-]不包含w字符

如果是邮箱正则你的正则肯定不对,正则怎么可能有中括号,不匹配是因为你传递的字符串不对,不符合正则

     var rx = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/

    alert(rx.test('aaa@[11.22.22.22')); //true

拆开成这样你也许看的明白点要匹配什么内容

 ([\w-\.]+)@

(

(\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+)

)

([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)
A15115071701
A15115071701 这个正则的问题是@前面部分不一定要存在.
4 年多之前 回复
showbo
支付宝加好友偷能量挖 回复A15115071701: /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/
4 年多之前 回复
A15115071701
A15115071701 谢谢,请教一个正确的验证邮箱格式的正则表达式。
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问