|
Валидация формы
[JS]function validate() {
var userEmail = document.getElementById("username"); var userPas = document.getElementById("pas"); var regexp = new RegExp("^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$"); if(userEmail.value != regexp) { userEmail.style.border = "2px solid red"; return false; } if(userPas.value = "") { userPas.style.border = "2px solid red"; return false; } return true; }[JS] |
regexp.test(userEmail.value) [/JS] |
Переделал, но не работает
function validate() { var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; var regP = /(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$%^&*]{6,}/g; var emm = $('#username').val(); var pass = $('#pas').val(); if(reg.test(emm)){ return true; } else{ $('#username').css('border','2px solid red'); return false; } if(regP.test(pass)){ return true; } else{ $('#pas').css('border','2px solid red'); return false; } } |
LocoThatCould, что значит "не работает"?
Не работает и не делает то, что вам нужно - разные вещи. В вашем коде валидация пароля никогда не будет произведена. |
<input type='text' id = 'username'> <button>Тест</button> <script> var userEmail = document.getElementById("username"); var regexp = new RegExp("^([a-z0-9_-]+\.)*[a-z0-9_-]+@[a-z0-9_-]+(\.[a-z0-9_-]+)*\.[a-z]{2,6}$"); document.querySelector('button').onclick = function() { if(!regexp.test(userEmail.value)) { userEmail.style.border = "2px solid red"; } else { userEmail.style.border = "2px solid green"; } } </script> |
Вообщем нужно чтобы проводилась проверка корректности ввода email, через регулярное выражение, так же с паролем.. Почему пароль никогда не проверится?
|
Код работает не корректно.
|
Email заработал, еще вопрос в событии формы ONSUBMIT обязательно вписывать return для функции? можно об этом тему или инфу?
|
function validate() { var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; var regP = /^[a-zA-Z]$/;; var emm = $('#username').val(); var pass = $('#pas').val(); if(reg.test(emm)){ return true; } else{ $('#username').css('border','2px solid red'); return false; } if(regP.test(pass)){ alert("Пароль должен содержать минимум 1 цифру,заглавную букву и 1 спец. символ!"); return false; } else{ $('#pas').css('border','2px solid red'); return false; } } |
<input type='text' id = 'username'> <input type='text' id = 'pas'> <button>Тест</button> <script> document.querySelector('button').onclick = validate; function validate() { const expressions = { email: /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/, password: /(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z!@#$%^&*]{6,}/g }; return !['username', 'pas'].filter((id, i) => { const node = document.getElementById(id); const isValid = (node.value.length && expressions[!i ? 'email' : 'password'].test(node.value)); node.style.borderColor = isValid ? 'green' : 'red'; return !isValid; }).length; } </script> |
Часовой пояс GMT +3, время: 13:37. |
|