javascript - 初学者 javascript onblur 验证不验证

标签 javascript jquery validation onblur

我只是在学习 javascript 和 jquery,我一定是做错了验证。我尝试了几种不同的方法,每次都会在模糊时触发第一个警报 (test1),但是一封错误的电子邮件不会引发第二个警报。我考虑过使用 jquery 验证插件,但在玩了一段时间后,我意识到我需要在每个空白的 onblur 上进行验证,而不是在处理表单时,所以我认为我被普通的 js 困住了。

在我的文档准备函数中:

$("#studentEmail").blur(function() {
    alert ("test1");
    function validateEmail(studentEmail){  
        var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;  
        if(!emailReg.test(studentEmail)) {
            alert("Please enter valid email id");
        }
    }
});

在我的 HTML 中:

<input type="text" class="signUpTextbox" id="studentEmail" name="registerStudentEmail">

谢谢!

最佳答案

在您的模糊处理程序中,您声明了一个函数。在此处理程序的外部声明您的函数,并在您的处理程序内部调用它。

 function validateEmail(studentEmail){  
     var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;  
     if(!emailReg.test(studentEmail)) {  
         alert("Please enter valid email id");
     }       
 }

 $("#studentEmail").blur(function() { 
    alert ("test1");

    validateEmail($(this).val());
});

或者,如果此函数的重用率为零,您可以这样做:

 $("#studentEmail").blur(function() { 
    alert ("test1");

    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;  
    if(!emailReg.test($(this).val())) {  
        alert("Please enter valid email id");
    }        
});

关于javascript - 初学者 javascript onblur 验证不验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8522213/

相关文章:

javascript - 仅验证表单的可见部分

javascript - 带有动态 div 的 JQuery 对话框

javascript - jQuery:如何检查数组中是否存在某个值?

php - 为 zf2 实现密码验证器

javascript - AJV 的验证器总是返回真值

javascript - 切换样式 :display only works when style is in HTML not in CSS

javascript - Angularjs - 获取指令内的主体元素

javascript - jquery 复选框树是否支持使用类选择器而不是 Id 以编程方式扩展的能力?

javascript - HTML、CSS、Javascript : prevent execution of javascript in non-displayed elements

javascript - 同步变量/为变量更改值创建事件监听器?