【发布时间】:2014-12-16 15:47:28
【问题描述】:
我有两个正则表达式,我正在尝试组合。一种是特定于电子邮件的,另一种是检查某些特殊字符。经过一番玩弄之后,我得出了这个解决方案:
"^([-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}|[\\w\\-ÀÈÌÒÙàèìòùÁÉÍÓÚÝáéíóúýÂÊÎÔÛâêîôûÃÑÕãñõÄËÏÖÜŸäëïöüŸçÇŒœßØøÅ寿ÞþÐð _]){0,80}$"
它似乎确实检查了我需要它做什么,但例如以下内容仍然有效:abc@foo 它不会强制使用完整的电子邮件地址。
我使用的是正确的方法还是有更简单的方法来构建这个 RegEx?我正在学习正则表达式,所以所有建议都值得赞赏。
【问题讨论】:
-
... 为什么?为什么它必须是单个正则表达式?为什么不测试一个,然后测试另一个?如果你分开做,你可以提供有用的错误信息告诉用户确切地你不喜欢他们的输入...
-
这是一个单一的输入,所以从 UI 的角度来看,试图推断一个电子邮件地址是很麻烦的
-
你真的需要检查“某些特殊字符”,还是所有非 ASCII 字母?
-
是的,我继承了正则表达式的第二部分,所以它不能更改
-
<input type="email" />不够好?
标签: javascript jquery regex