一个正则表达式验证 邮箱地址 和 控制整个长度

madStone_l 2011-09-18 11:10:51
我通过以下正则表达式验证邮箱地址是否有效:
^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

现在的问题是:

如何修改上面的正则表达式,使其能够用一个正则表达式验证邮箱地址是否有效,并且整个邮箱地址的长度不能超过 50个长度?
或者有其他的正则表达式能够达到这个效果。


请注意:是一个正则表达式就要完成 地址是否有效和长度是否在50个字符的验证(因为程序功能限制,必须是一个正则表达式完成控制)。
而不是先验证是否有效,再通过.length进行长度判断。

恳请高手指点。
...全文
1416 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
诺维斯基 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sxldfang 的回复:]
在Javascript中要这样写:

/^(?=\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$).{0,50}$/
[/Quote]
他要的是不能超过50个,不知道是{0,50}这样写,还是{0,49}这样写!!
24K純帥 2011-09-19
  • 打赏
  • 举报
回复
可以用Ext的,一个属性就搞定
峭沙 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 madstone_l 的回复:]因为程序功能限制,必须是一个正则表达式完成控制[/Quote]我很好奇为何有这种限制。。
最后一个菜鸟 2011-09-19
  • 打赏
  • 举报
回复
楼主再发一次帖,有意思吗
2399 2011-09-19
  • 打赏
  • 举报
回复
/^(?=\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$).{0,50}$/不要为了正则表达式而正则表达式啊,有时候用正则表达式效率也不一定高,可能它本身的实现就是用length实现的,所以你直接用length去判断效率会更高
sxldfang 2011-09-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 soonfei 的回复:]

引用 5 楼 sxldfang 的回复:
在Javascript中要这样写:

/^(?=\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$).{0,50}$/

他要的是不能超过50个,不知道是{0,50}这样写,还是{0,49}这样写!!
[/Quote]

不超过50,就是 小于等于50
q107770540 2011-09-18
  • 打赏
  • 举报
回复
表达式中用了太多的 + * 之类的长度匹配

不如这样来:

function isEmail(str)
{
var reg=/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
return (reg.test(str) && str.length<50);
}
豆虫 2011-09-18
  • 打赏
  • 举报
回复
邮箱这种正则还要限制长度 着实有些麻烦 说实话 这个是多个字段拼合起来的长度 不大好做 而且就是做了 可能性能上也比较低 关注一下~~~
madStone_l 2011-09-18
  • 打赏
  • 举报
回复
顶~!期待高手
潮起潮落 2011-09-18
  • 打赏
  • 举报
回复
匹配完之后的整个字符串当做一个元组判断长度
试试LS的
sxldfang 2011-09-18
  • 打赏
  • 举报
回复
在Javascript中要这样写:

/^(?=\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$).{0,50}$/
sxldfang 2011-09-18
  • 打赏
  • 举报
回复
试试这个:

^(?=\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$).{0,50}$
BLUE_LG 2011-09-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 madstone_l 的回复:]
我通过以下正则表达式验证邮箱地址是否有效:
^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

现在的问题是:

如何修改上面的正则表达式,使其能够用一个正则表达式验证邮箱地址是否有效,并且整个邮箱地址的长度不能超过 50个长度?
或者有其他的正则表达式能够达到这个效果。


请注意:是一个正则表达式就要完成 地址是否有效和长度是否在5……
[/Quote]
我靠,说说"而不是先验证是否有效,再通过.length进行长度判断。"能有什么坏处??
不是所有的代码都要一句话的!!!!

87,919

社区成员

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

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