我不太喜欢正则表达式,但已经能够在线获取这个。 /.+@.+/
.这将在joe@joe
和joe@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/
鉴于我不知道您的其余代码是什么,并且您可能真的需要PHP
和JavaScript
它,我将建议一种不同的方法,因为我不同意接受答案中给出的解决方案,因为它将匹配电子邮件地址,如-@-.aa
、.@.-.aa
、.@_.aa
等。
我建议您将PHP的filter_var与FILTER_VALIDATE_EMAIL过滤器一起使用
根据 RFC 822 中的语法验证电子邮件地址,但不支持注释和空格折叠以及无点域名。
可能还有一个来自JavaScript
的额外AJAX
电话.
正则表达式根本不是微不足道的,我什至不确定您是否可以依靠它们来匹配所有有效的电子邮件地址。
有关更多信息,请查看 在 JavaScript 中验证电子邮件地址?和使用正则表达式验证电子邮件地址
.+@.+.{1}.+
这是一个简单的正则表达式,将符合所需的条件
对于接受一个字符或更长字符的任何域扩展的简单正则表达式,请尝试: /.+@.+..+/
对于 2 个字符或更长的域扩展名,请尝试: /.+@.+..{2,}/