这是我目前的职能:
function isEmail(str){
var emailReg = '^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$';
var regex = new RegExp(emailReg);
return regex.test(str);
}
if(ecEmail != '' && ecEmail != null){
if(isEmail(ecEmail) == false){
alert('Please provide a valid email address.');
return false;
}
}
我的验证不允许包含"&"像hunter& staff@gmail.com这样的标志。我需要有关新电子邮件验证的帮助,以便允许发送包含"&"标志。
答案 0 :(得分:1)
你应该可以使用:
'^[\\w\-&_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$'
或
'^[\\w\-\&_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$'
或
'^[\\w\-&_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$'
答案 1 :(得分:0)
试试这个正则表达式:
var patt=/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|<94>(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*<94>)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
我发现很久以前在w3.org上发现,目前无法找到直接链接。
编辑:
带有正确的var名称:
var emailReg =/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|<94>(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*<94>)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;