Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.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
Javascript 如何在jQuery中验证电子邮件输入?_Javascript_Html_Jquery - Fatal编程技术网

Javascript 如何在jQuery中验证电子邮件输入?

Javascript 如何在jQuery中验证电子邮件输入?,javascript,html,jquery,Javascript,Html,Jquery,我没有使用表单标签 通常,Chrome会在允许您提交之前强制您的电子邮件输入有效 如果没有表单标记或按钮,我如何使用jQuery Ajax实现这一点?如果您不想使用表单,那么我建议的另一种方法是使用正则表达式来测试您收到的电子邮件值。使用javascript的RegExp $(document).on("click","p",function(){ var email = $(".inputs input[name

我没有使用表单标签

通常,Chrome会在允许您提交之前强制您的电子邮件输入有效


如果没有表单标记或按钮,我如何使用jQuery Ajax实现这一点?

如果您不想使用表单,那么我建议的另一种方法是使用正则表达式来测试您收到的电子邮件值。使用javascript的RegExp

    $(document).on("click","p",function(){
            var email = $(".inputs input[name=email]").val();
            var password = $(".inputs input[name=password]").val();
            var isProperEmail = new RegExp(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-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])+)\])/).test(email);
            if(isProperEmail) {
                 //ajax Call
            } 
            else {
                 //error handler
            }
     })

从这个问题的答案中获得正则表达式。

您可以使用vanilla Javascript的checkValidity:

$input[type='email'][0]。检查有效性;
电子邮件验证不需要jQuery。只要使用该属性,如果语法格式不正确,表单提交就会失败

const formData=form=>[…form.elements] .filterl=>el.getAttribute'name' .reduceAc,el=>{…acc,[el.getAttribute'name']:el.value},{}; 常量handleSubmission=e=>{ const params=formDatae.target; fetch'/login',{method:'POST',body:JSON.stringifyparams} .thenresponse=>警报“成功登录” .catcherror=>console.error`登录用户失败:${params.email}`; e、 preventDefault;//当您希望页面导航时删除。 }; 文件。表格['login']。添加了“提交”列表,便于提交; 提交
你为什么不把你的表格用一个超出问题范围的?@polywhill先生这个回答了你的问题吗?您在表格中添加了,可能您回答了错误的问题?其他人已经回答了,我已经接受了that@preokg不,我是在回答你的问题。如果您想处理适当的表单提交,建议您使用实际表单。请审查:
$(document).on("click","p",function(){
    var email = $(".inputs input[name=email]").val();
    var password = $(".inputs input[name=password]").val();
    $.ajax({
        url:"url",
        method:"POST",
        data:{email:email,password:password},
        success:function(data){
            alert("Done");
        }
    });
});
    $(document).on("click","p",function(){
            var email = $(".inputs input[name=email]").val();
            var password = $(".inputs input[name=password]").val();
            var isProperEmail = new RegExp(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-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])+)\])/).test(email);
            if(isProperEmail) {
                 //ajax Call
            } 
            else {
                 //error handler
            }
     })