我将以特定方式验证电子邮件地址。我想确保电子邮件只有一个@符号,而不是更多。
我无法弄清楚正则表达式应该是什么样的。我找不到任何关于如何匹配字符串中多个特定字符的好例子,但是让它第一次出现。
我想说的是:
/@.@/ or /@*@/ or /*@*@*/
到目前为止,没有任何工作。
表达式应匹配:
me@me@me.com
me@me@me@me.com
me@@me.com
不应该匹配:
me@me.com
答案 0 :(得分:4)
替代正则表达式:
var email = "foo@bar.com";
if (email.split('@').length==2) {
// only has 1 '@'
}
答案 1 :(得分:0)
为什么不匹配只包含的电子邮件 @:
^[^@]*?@[^@]*?$
答案 2 :(得分:0)
两个或多个@符号:@[^@]*@
。
编辑:可以通过三个步骤考虑正则表达式:
@
:需要@符号(请注意,它没有^
所以@符号可以在字符串中的任何位置[^@]*
:任何非@字符,或无@
:如果找到任何其他@符号,则表示匹配我希望这至少可以解释一下正则表达式。