javascript validation for email format accepting incorrect email format @abcd.com.gmail,
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Validate email address in Javascript?
我必须对电子邮件格式进行验证,我使用下面的代码来限制特殊字符。
1 | onkeypress="return AlphaNumericBox(event,this,'@._);" |
但现在的问题是,我没有对确切格式进行任何适当的验证,例如,它也接受像
事先谢谢。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | function CheckEmail(address){ address=address.replace(/(^\s*)|(\s*$)/g,""); var reg=/([\w._-])+@([\w_-])+(\.([\w_-])+){1,2}/; var matcharr=reg.exec(address); if(matcharr!=null){ if(matcharr[0].length==address.length){ return true; } return false; } return false; } eg: var sVal=" [email protected]"; var sVal2=" [email protected]"; console.log(CheckEmail("[email protected]")); //outpus true console.log(CheckEmail("@server.com")); //outpus false |
我建议您使用这个函数。我已经测试过很多次了。
1 2 3 4 | function validateEmail (emailAddress) { var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); return pattern.test(emailAddress); } |
现在,您可以轻松验证任何电子邮件地址:
1 2 | var isValid = validateEmail('[email protected]'); // returns true; isValid = validateEmail('@server.com'); // returns false; |