Aru*_*run -1 regex email-validation
在我的网站中,我使用以下正则表达式来验证电子邮件.
^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$
Run Code Online (Sandbox Code Playgroud)
我的怀疑是:
我可以使用以下正则表达式来实现相同的功能吗?
^[a-zA-Z0-9_.-]+@[a-zA-Z0-9.-]+.[a-z]{2,4}$
Run Code Online (Sandbox Code Playgroud)我问这个的原因是,我试着研究其含义.所以我感到很困惑
[a-zA-Z0-9_.-]用[a-zA-Z0-9]和覆盖所有实例[a-zA-Z0-9_-]
我不确定这一点,因为我是初学者.
我得到了正则表达式
我在http://regex101.com/#pcre检查了两个正则表达式.我发现结果没有任何区别.可能是因为我的知识有限
请澄清一下.感谢所有提前
也许这不是你要找的答案,但我不得不说我最终得到了这种电子邮件验证:^.+@.+\..{2,}$修剪之后.
它检查什么?存在一些符号,@本身,一些其他符号,点,以及顶级域的至少两个符号.它说"伙计,应该有一封电子邮件,而不是你热闹的用户名".这就够了,我想.
顺便说一句,.[a-z]{2,4}$检查TLD是一个巨大的错误,因为很少有流行的域超过4个符号(即.travel)和许多不太受欢迎的域.
为什么我认为您不需要详细验证?首先,无论如何,你会有很多要求.您知道电子邮件地址中允许使用西里尔符号吗?
而且,请想一想这个验证你想要什么?避免错误的电子邮件?你不会.有人会输入一封满足您所有要求的电子邮件,但无论如何它都是不正确的.是email@gmial.com一个好?不会.它会被regexp检查吗?我害怕,答案再次是"不".
因此,最好解释用户应提供有效的电子邮件以获取确认邮件,并在电子邮件文本中解释"如果您不是在mysite.com注册的人,请忽略此信".
因为正则表达式永远不会过滤掉,但是由于它,你可能会因为奇怪的电子邮件地址而失去一些用户.
因为这应该是你的问题的答案:
4从中移除即可.如果您需要原始逻辑,则不能缩短它..mail@mail.com,a@gmail.com,gmail@a.com