Проверка подлинности javascript для начинающих не проверяется - PullRequest
4 голосов
/ 15 декабря 2011

Я только изучаю javascript и jquery, и, должно быть, я неправильно выполняю проверку.Я пробовал несколько разных способов, и каждый раз первое предупреждение (test1) запускает onblur, но плохое письмо не вызывает второе предупреждение.Я подумал об использовании плагина проверки 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">

Спасибо!

Ответы [ 3 ]

3 голосов
/ 15 декабря 2011

Почему у вас есть внутренняя функция здесь? Это должно работать

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

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

});
3 голосов
/ 15 декабря 2011

Внутри вашего обработчика размытия вы объявляли функцию.Объявите вашу функцию вне этого обработчика и вызовите ее внутри вашего обработчика.

 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");
    }        
});
0 голосов
/ 15 декабря 2011
$("#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");
        }
    }
    // call the validate method
    validateEmail(this.value);
});
...