2

我的用于电子邮件验证的 Jquery 正则表达式引发语法错误。错误:“意外字符 \”。下面是我的代码。请任何人给我正确的解决方案。

function validateEmail(sEmail) {
    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;
    }
}​
4

3 回答 3

4

您必须使用两个 @@ 来转义 @ 符号,这样:

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})(\]?)$/;
于 2012-10-18T12:19:15.923 回答
0

尝试

var filter = /^([-\w\.]+)@...

注意-前期而不是\w-\.

-in between 表示范围与[a-z]此处的 `\w' 一样,它没有意义。

顺便说一句\[\]之后发生了什么@

于 2012-10-17T08:27:39.750 回答
0

尝试这个:

(?:.*)@(?:.*).(?:.*)
于 2017-02-03T13:03:31.777 回答