我没有太多乱用Regex但是能够在网上得到这个。 /.+@.+/
。对于joe@joe
和joe@joe.com
,这将返回true。我想这样做,所以用户必须提供域扩展,否则我希望它失败,我认为这很简单,但我只是想不出来。我试过了/.+@.+.\S/
但是没有用。任何帮助都会很棒,谢谢!
这将在PHP和javascript中使用。目前的两个都适用,新的也需要。
答案 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)
鉴于我不知道你的其他代码是什么,你可能真的需要这个PHP
和JavaScript
我会建议一个不同的方法,因为我不同意接受答案中给出的解决方案,因为它会匹配-@-.aa
,.@.-.aa
,.@_.aa
等电子邮件地址。
我建议您使用PHP的filter_var和FILTER_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,}/