csdn上的兄弟给我的邮件地址合法性检验函数出了问题!
前几天一位老兄给我一个邮件地址合法性检验函数:
function IsMail(ChkStr)
{
var re=/\w+@\w+\.\w+/
if (re.test(ChkStr)==false)
{
alert('邮件格式非法!');
return false;
}
else
{
return true;
}
}
我用了后,什么都好,就是有一个小问题。
当@前面字母之间有"-"中划线或下划线时,邮箱地址检验正确。
可是当@后面的字母之间有"-"中划线或下划线时,比如abc@wk-sh.com
这样的邮件地址提示说不合法。
可见这个函数解决了@前的问题,却没有解决@后的中(下)划线问题.
我要使得检验abc_ok@sohu.com,abc-ok@sohu.com,abc@sohu-sh.com abc@sohu_sh.com都应认为合法。请问如何修正上述函数?或者给一个真正好的函数给我。
多谢!