2016-10-17 2 views
0

У меня возникли проблемы с объединением моего текущего; проверка на вход страницы на одну веб-страницу. Вот моя попытка, но это обыкновение называть обе эти функции, любая идея, почемуПроверка формы JQuery

Jquery:

<script> 
function isValidPassword(Passwordreg){ 
    var pattern = new RegExp(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/); 
    return pattern.test(Passwordreg); 
}; 
function isValidEmailAddress(emailAddress) { 
    var pattern = new RegExp(/^[+a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i); 
    return pattern.test(emailAddress); 
}; 
    $(document).ready(function(){ 
     $("#email").focus(); 
     $("#email").blur(function() { 
     checkEmail($("#email").val()); 
     }); 
     $("#email").keydown(function() { 
      checkEmail($("#email").val()); 
     $("#Password").blur(function() { 
      checkPassword($("#Password").val()); 
     }); 
     $("#Password").keydown(function() { 
      checkPassword($("#Password").val()); 
    }); 

function checkPassword(Pword){ 
    if(!isValidPassword($("#Password").val())){ 
     $("#passwordError").html("Does Not Match the Reqirements"); 
     $("#emailError").addClass("error"); 
     $('input[type="submit"]').prop('disabled', true); 
     return false; 
    }else{ 
     $("#passwordError").html(""); 
     $("#Password").removeClass("error"); 
     $('input[type="submit"]').prop('disabled', false); 
     return true; 
    } 

} 
function checkEmail(emailAddie){ 
    if(!isValidEmailAddress($("#email").val())){ 
     $("#emailError").html("Please inert a correctly layed out email address"); 
     $("#email").addClass("error"); 
     $('input[type="submit"]').prop('disabled', true); 
     return false; 
    }else{ 
     $("#emailError").html(""); 
     $("#email").removeClass("error"); 
     $('input[type="submit"]').prop('disabled', false); 
     return true; 
    } 

} 
$("#submitB").click(function(e) { 
     if(!checkPassword($("#Password").val())){ 
      e.preventDefault(); 
     } 
    }); 
}); 
</script> 

И моя форма имеет 6 входов на него, но нам нужно только сосредоточиться на 2

<form> 
     <label for="email">Username/Email address</label> 
     <input id="email" type="text" name="email" ><span id="emailError"></span> 
     <label for="Password">Password</label> 
     <input id="Password" type="password" name="Password" ><span id="passwordError"></span> 
</form> 

Опять эти функции работают, если я пытаюсь вызвать их по отдельности с триггерами я наладке, но они терпят неудачу, когда я пытаюсь контролировать оба входа сразу

ответ

0

You ч ave синтаксическая ошибка n вашего кода. Так что это не работает для вас.

Вот фиксированный код.

function isValidPassword(Passwordreg){ 
 
    var pattern = new RegExp(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/); 
 
    return pattern.test(Passwordreg); 
 
}; 
 
function isValidEmailAddress(emailAddress) { 
 
    var pattern = new RegExp(/^[+a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i); 
 
    return pattern.test(emailAddress); 
 
}; 
 
    $(document).ready(function(){ 
 
     $("#email").focus(); 
 
     $("#email").blur(function() { 
 
     checkEmail($("#email").val()); 
 
     }); 
 
     $("#email").keydown(function() { 
 
      checkEmail($("#email").val()); 
 
     $("#Password").blur(function() { 
 
      checkPassword($("#Password").val()); 
 
     }); 
 
     $("#Password").keydown(function() { 
 
      checkPassword($("#Password").val()); 
 
     }); 
 
     }); 
 

 
function checkPassword(Pword){ 
 
    if(!isValidPassword($("#Password").val())){ 
 
     $("#passwordError").html("Does Not Match the Reqirements"); 
 
     $("#emailError").addClass("error"); 
 
     $('input[type="submit"]').prop('disabled', true); 
 
     return false; 
 
    }else{ 
 
     $("#passwordError").html(""); 
 
     $("#Password").removeClass("error"); 
 
     $('input[type="submit"]').prop('disabled', false); 
 
     return true; 
 
    } 
 

 
} 
 
function checkEmail(emailAddie){ 
 
    if(!isValidEmailAddress($("#email").val())){ 
 
     $("#emailError").html("Please inert a correctly layed out email address"); 
 
     $("#email").addClass("error"); 
 
     $('input[type="submit"]').prop('disabled', true); 
 
     return false; 
 
    }else{ 
 
     $("#emailError").html(""); 
 
     $("#email").removeClass("error"); 
 
     $('input[type="submit"]').prop('disabled', false); 
 
     return true; 
 
    } 
 

 
} 
 
$("#submitB").click(function(e) { 
 
     if(!checkPassword($("#Password").val())){ 
 
      e.preventDefault(); 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <title></title> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script data-require="jquery" data-semver="3.0.0" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.js"></script> 
 
    <script src="script.js"></script> 
 
    </head> 
 

 
    <body> 
 
    <form> 
 
     <label for="email">Username/Email address</label> 
 
     <input id="email" type="text" name="email" ><span id="emailError"></span> 
 
     <label for="Password">Password</label> 
 
     <input id="Password" type="password" name="Password" ><span id="passwordError"></span> 
 
</form> 
 
    <!-- Put your html here! --> 
 
    </body> 
 

 
</html>

Here is a plunker

+0

Ого всего 3 символов и я бы на моем пути, спасибо так много, вы спасли мне столько борьба – Phayer

+0

да один charecter несколько раз портит наши день. Хорошего дня. :-) – Sravan

Смежные вопросы