Регулярное выражение для 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, время: 02:20. |