Ris*_*i P 1 regex wildcard email-validation
我在看电子邮件验证.我在RFC规范中读到了连续的.(dot)不允许,例如mail..me @ server.com.
但是允许连续出现不同的狂野角色吗?例如,mail . $me @ server.com.
如果是这样,我如何制作一个正则表达式,只要它们不同,它们只会出现单个出现的野性字符?它不应该接受像.. && $$,但接受像,&$ .$ &.
而且由于允许使用大量野生字符,我不认为正如此等正则表达式\^(&&|$$|..)\不是一种选择.
有一些符合RFC的电子邮件验证正则表达式.它们并不漂亮,实际上它们非常糟糕,跨越数百个字符.你真的不想创建一个,要么使用它,要么编写你能理解和维护的常规代码.
这是符合RFC的正则表达式之一
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
Run Code Online (Sandbox Code Playgroud)
查看此链接以获取更多信息和替代(更实用)的正则表达式http://www.regular-expressions.info/email.html