有人可以重寫這個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