Вот есть форма. Хочу сделать проверку, что в инпут можно ввести только 4 цифры, иначе форма не отправится.
<form name='forma12'>
<input type="text" class="credit-card__holder" name="holder" placeholder="Держатель карты">
<input type="submit" class="card-req__button" onclick="return validate(forma12);" value="Отправить"></input>
</form>
Есть сценарий на проверку инпута, что в нем должно быть 4 цифры.
function validate(obj) {
var holder=obj.holder.value;
var holder_pattern=/[0-9]{4}/;
var check=holder_pattern.test(holder);
if (check==true) {
return true;
}
else {
alert("Введенные данные некорректны!");
return false;
}
}
Ссылка на
CodePen
Если ввожу буквы - работает верно (не отправляет); если меньше 4 цифр, то тоже работает верно; при 4 цифрах отправляет; но если вводить больше 4 цифр и букв вперемешку, то все равно отправляет, хотя не должен. Где я ошибся?