|
Валидация формы
[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, время: 05:19. |
|