我想以 html 形式验证电子邮件地址。我对正则表达式知之甚少。
验证很简单,只是为了匹配any_symbols@any_symbols.two_to_eight_symbols
模式。
这是我正在尝试使用的正则表达式^.+@.+\..{2,8}$
。然而它不起作用,它验证了 pattern any_symbols@four_symbols
。
注意:不要担心这种简单的验证,在服务器端我正在做filter_var
(php)并将令牌发送到该电子邮件。当输入的电子邮件地址符合一些理智的模式时,只需要在表单上启用按钮 :)
编辑我在问题中提到的那些模式“any_symbols ...”只是我试图输入的文本表示。这不是我在输入字段中输入的内容 :) 通常我输入“test@test.com”或“blabla@hehe.haha”等 :)
EDIT2实际代码:
var email_regex = new RegExp("^.+@.+\..{2,8}$");
if ($target.val().match(email_regex) !== null){
$button.removeAttr('disabled').removeClass('disabled');
}
else{
$button.attr('disabled', 'disabled').addClass('disabled');
}
EDIT3 *发现问题!* 这不是正则表达式本身,而是我将正则表达式传递给正则表达式函数的方式......应该是
new RegExp(/^.+@.+\..{2,8}$/);
不是
new RegExp("^.+@.+\..{2,8}$");
正如我所说,这整个正则表达式对我来说很新:))