Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярное выражение для match (https://javascript.ru/forum/misc/66146-regulyarnoe-vyrazhenie-dlya-match.html)

karakym 28.11.2016 15:01

Регулярное выражение для match
 
Доброго времени суток, есть валидация форм с помощью .match()
Для текстового поля стоит вот такое:
specialCharactersCheck = /^[a-zA-Z0-9- ]*$/,

Нужно заменить это, что бы валидацию проходили и кириллические символы. Как это сделать, я вообще путаюсь в этих регулярках.

ruslan_mart 28.11.2016 15:38

/^[\wа-яё-]+$/i


if(specialCharactersCheck.test(value)) {

}

karakym 28.11.2016 17:04

Не помогло, все равно при вводе кириллицы не проходит валидацию.

Dilettante_Pro 28.11.2016 17:40

<input type='text' /> 
<script>
var inp= document.querySelector('input');
inp.oninput = function() { 
     inp.value = inp.value.replace(/[^,а-яА-ЯёЁa-zA-Z0-9]/, "");
}
</script>

karakym 28.11.2016 18:06

Есть такой код:
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();
		});

Вводя английские символы, поле приобретает зеленый оттенок (валидация пройдена), когда русские ввожу то красный оттенок.

Dilettante_Pro 28.11.2016 18:59

karakym,
Ну так попробуйте вместо
a-zA-Z0-9-
вот это
а-яА-ЯёЁa-zA-Z0-9-

karakym 29.11.2016 00:58

Вся проблема была в кодировке javascript файла, всем спасибо!


Часовой пояс GMT +3, время: 07:17.