简单的电子邮件正则表达式,确保用户包括点域名?

时间:2017-03-28 04:17:27

标签: javascript php jquery regex

我没有太多乱用Regex但是能够在网上得到这个。 /.+@.+/。对于joe@joejoe@joe.com,这将返回true。我想这样做,所以用户必须提供域扩展,否则我希望它失败,我认为这很简单,但我只是想不出来。我试过了/.+@.+.\S/但是没有用。任何帮助都会很棒,谢谢!

这将在PHP和javascript中使用。目前的两个都适用,新的也需要。

5 个答案:

答案 0 :(得分:1)

这是表达式

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

允许更多字符:

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

答案 1 :(得分:0)

这里的正则表达式适用于我(来自http://www.regextester.com/19

/ ^ [A-ZA-Z0-9#$%&安培;'!? + / = ^ _`{|}〜 - ] + @一个-ZA-Z0-9? (?:?A-ZA-Z0-9) $ / I

这里有来自plnkr的JavaScript中的正则表达式示例:http://embed.plnkr.co/ZlbA1I2TsDBUmDb9o0gj/

答案 2 :(得分:0)

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

我建议您使用PHP的filter_varFILTER_VALIDATE_EMAIL过滤器

  

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

可能还有来自AJAX的{​​{1}}来电。

匹配所有有效电子邮件地址的正则表达式根本不重要,我甚至不确定您是否可以依赖它们来匹配所有有效的电子邮件地址。

有关详细信息,请查看Validate email address in JavaScript?Using a regular expression to validate an email address

答案 3 :(得分:-1)

.+\@.+\.{1}.+

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

答案 4 :(得分:-1)

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

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