我只是在学习 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/