简单的电子邮件正则表达式,确保用户包含.domain



我不太喜欢正则表达式,但已经能够在线获取这个。 /.+@.+/ .这将在joe@joejoe@joe.com中返回为真。我想让用户必须提供域扩展名,否则我希望它失败,我认为这很简单,但我只是想不通。我试过/.+@.+.S/但没有用。任何帮助都会很棒,谢谢!

这将在PHP和javascript中使用。当前的同时适用于两者,新的也需要。

这是表达式

/w+@w+.w{2,10}/

要允许更多字符:

/[w-._]+@[w-._]+.w{2,10}/

这里的正则表达式对我有用(从 http://www.regextester.com/19 开始(

/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/i

就像 plnkr 中的 JavaScript 中的正则表达式示例一样:http://embed.plnkr.co/ZlbA1I2TsDBUmDb9o0gj/

鉴于我不知道您的其余代码是什么,并且您可能真的需要PHPJavaScript它,我将建议一种不同的方法,因为我不同意接受答案中给出的解决方案,因为它将匹配电子邮件地址,如-@-.aa.@.-.aa.@_.aa等。

我建议您将PHP的filter_var与FILTER_VALIDATE_EMAIL过滤器一起使用

根据 RFC 822 中的语法验证电子邮件地址,但不支持注释和空格折叠以及无点域名。

可能还有一个来自JavaScript的额外AJAX电话.

匹配所有有效电子邮件地址的

正则表达式根本不是微不足道的,我什至不确定您是否可以依靠它们来匹配所有有效的电子邮件地址。

有关更多信息,请查看 在 JavaScript 中验证电子邮件地址?和使用正则表达式验证电子邮件地址

.+@.+.{1}.+

这是一个简单的正则表达式,将符合所需的条件

对于接受一个字符或更长字符的任何域扩展的简单正则表达式,请尝试: /.+@.+..+/

对于 2 个字符或更长的域扩展名,请尝试: /.+@.+..{2,}/

最新更新