有人可以重写这个JavaScript。现在的问题是,1个正则表达式是唯一的工作(从电子邮件中的一个)Javascript的正则表达式不工作
前面的问题:link 我建议这里,但我想我把它不好的在我的代码
function checkform (form)
{
var rex = /[^a-z]/i;
var regex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!regex.test(form.email.value))
{
alert("Please enter youre valid email address.");
form.email.focus();
return false ;
}
if (rex.test(form.name.value))
{
alert("Please enter your name. no numbers or #$^& things allowed).");
form.name.focus();
return false ;
}
return true ;
}
什么不正常? '/ [^ a-z]/i'模式应该匹配任何非alpha字符。你用什么输入来测试? – 2012-02-11 22:02:27
请阅读下面的内容:http://stackoverflow.com/questions/46155/validate-email-address-in-javascript – cha0site 2012-02-11 22:07:54
你应该删除最后一个+后面的'([a-zA-Z0-9] {2,4 })+'tld-block,因为它可以让你基本上有任何大于2个字符的tld后缀。但除此之外,不应该有问题。顺便说一句,即使你的RegExp应该满足大多数需求,以防万一你想看看_real_电子邮件验证RegExp,你可以在[本页](http://www.ex-parrot.com/pdw/ Mail-RFC822-Address.html) – Tharabas 2012-02-11 22:16:17