Регулярное выражение для match
Доброго времени суток, есть валидация форм с помощью .match()
Для текстового поля стоит вот такое: specialCharactersCheck = /^[a-zA-Z0-9- ]*$/, Нужно заменить это, что бы валидацию проходили и кириллические символы. Как это сделать, я вообще путаюсь в этих регулярках. |
/^[\wа-яё-]+$/i if(specialCharactersCheck.test(value)) { } |
Не помогло, все равно при вводе кириллицы не проходит валидацию.
|
<input type='text' /> <script> var inp= document.querySelector('input'); inp.oninput = function() { inp.value = inp.value.replace(/[^,а-яА-ЯёЁa-zA-Z0-9]/, ""); } </script> |
Есть такой код:
numberCheck = /^\+?[0-9]+$/, specialCharactersCheck = /^[a-zA-Z0-9- ]*$/, emailCheck = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; } // Inputs Validations { var fullNameValidate = function(){ var fullNameVal = fullNameInput.val(); if(!fullNameVal.trim() || fullNameVal == null || fullNameVal == "" || !fullNameVal.match(specialCharactersCheck)){ fullNameInput.addClass('invalid').removeClass('valid'); fullNameError = true; // $('html, body').animate({scrollTop: fullNameInput.offset().top - 100}, 1000); }else{ fullNameInput.removeClass('invalid').addClass('valid'); fullNameError = false; } return fullNameError; } fullNameInput.on('keyup focusout blur', function(e){ fullNameValidate(); }); Вводя английские символы, поле приобретает зеленый оттенок (валидация пройдена), когда русские ввожу то красный оттенок. |
karakym,
Ну так попробуйте вместо a-zA-Z0-9- вот это а-яА-ЯёЁa-zA-Z0-9- |
Вся проблема была в кодировке javascript файла, всем спасибо!
|
Часовой пояс GMT +3, время: 07:17. |