用于测试电子邮件的javascript正则表达式

用于测试电子邮件的javascript正则表达式,javascript,regex,Javascript,Regex,我正在检查电子邮件地址,如abc@example.co.uk或者a。bc@eyample.com等 我使用正则表达式,比如 [a-zA-Z0-9\._]+@[^.]+[a.zA-Z]+\.[a-z{2,5}]+ 有人能建议如何纠正它吗 谢谢见 您可以尝试: [a-zA-Z0-9.!#$%&'*+-/=?\^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)* 这应该行得通 范例 var sEmail = txtEmail; var filter =

我正在检查电子邮件地址,如abc@example.co.uk或者a。bc@eyample.com等

我使用正则表达式,比如

[a-zA-Z0-9\._]+@[^.]+[a.zA-Z]+\.[a-z{2,5}]+
有人能建议如何纠正它吗

谢谢

您可以尝试:

[a-zA-Z0-9.!#$%&'*+-/=?\^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*
这应该行得通

范例

var sEmail = txtEmail;

var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;

if (filter.test(sEmail)) {
    return true;
}
else {
    return false;
}

如果您在新浏览器中创建输入类型的电子邮件,它将在一定程度上进行验证。它将只查找后跟@的字符,而不是后面的几个字符


验证是为了发现用户的错误,而不是让用户更难填写表单。

我想用字符串中的“/”替换撇号“'”

例如:var str=“te'xt”;
想要这样的输出“te/xt”

可以纠正,但最好的解决方案是