Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 无插件的电子邮件验证_Jquery - Fatal编程技术网

Jquery 无插件的电子邮件验证

Jquery 无插件的电子邮件验证,jquery,Jquery,我正在实施电子邮件验证,没有任何插件。为此,我编写了以下验证代码: var email = encodeURIComponent($('#email').val()); if(email==='' | email=== null) { $('#erroremail').show(); } else { var checkemail = email; var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-z

我正在实施电子邮件验证,没有任何插件。为此,我编写了以下验证代码:

var email = encodeURIComponent($('#email').val());

if(email==='' | email=== null) {
    $('#erroremail').show();
} else {
    var checkemail = email;
    var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;

    if(filter.test(checkemail)) {
        alert('Correct');
        return true;
    } else {
        alert('Not Correct');
        return false;
    }
}
这里的问题是,我从来没有得到正确的警报。什么不起作用?

请看:
您的正则表达式可以处理简单的邮件,因此问题一定是修改$(“#email').val()的encodeURIComponent函数。

这就是为什么您不应该重新发明轮子的原因。!值得注意的是,检查您的regex in(或类似的),以确保它按照您希望的方式进行验证。另外,我真的不知道为什么要对要验证的字符串进行
.test()
加密。尝试阅读一些。另一封电子邮件regex,另一只可怜的死猫。你应该在if语句中添加另一个|,并且encodeURIComponent将@转换为%40,因此它永远不会得到验证。您需要使用EncodeuriComponent有什么原因吗?