【发布时间】:2011-03-02 22:10:53
【问题描述】:
我的正则表达式很糟糕,所以我想在这方面寻求一些帮助。
我有一个正则表达式:
/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
它适用于我的电子邮件验证的大多数情况,但是它允许通过:
test..testing@gmail.com
如何更改上述正则表达式以不允许在整个字符串中的任何位置出现连续句点?
谢谢。
【问题讨论】:
-
但这是一个完全有效的电子邮件地址。
-
作为技术专家,您的工作职责之一是确保为您提供需求的人员不会意外地在他们付钱给您的产品中设计错误。
-
@Seth:那么您需要向我们展示您的规格。您不是在验证电子邮件地址,而是在验证您的经理编造的电子邮件地址的一部分。或者更好的是,如果你的经理是个彻头彻尾的白痴,就把你的经理打得头破血流(或者温和地指出错误!)。
-
这样想:您将向输入有效电子邮件地址的人显示什么错误消息,其中一个恰好有两个连续的句点? “无效的电子邮件地址”,当用户完全知道它不是“无效”时?
-
哇——大家好,虽然我认为整体精神是正确的,@markijbema 在评论中指出严格的 RFC5322 地址实际上不能在左侧有连续的点地址...
标签: javascript regex validation