Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.11.2016, 15:01
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

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

Нужно заменить это, что бы валидацию проходили и кириллические символы. Как это сделать, я вообще путаюсь в этих регулярках.
Ответить с цитированием
  #2 (permalink)  
Старый 28.11.2016, 15:38
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

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


if(specialCharactersCheck.test(value)) {

}
Ответить с цитированием
  #3 (permalink)  
Старый 28.11.2016, 17:04
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

Не помогло, все равно при вводе кириллицы не проходит валидацию.
Ответить с цитированием
  #4 (permalink)  
Старый 28.11.2016, 17:40
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<input type='text' /> 
<script>
var inp= document.querySelector('input');
inp.oninput = function() { 
     inp.value = inp.value.replace(/[^,а-яА-ЯёЁa-zA-Z0-9]/, "");
}
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 28.11.2016, 18:06
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

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

Вводя английские символы, поле приобретает зеленый оттенок (валидация пройдена), когда русские ввожу то красный оттенок.
Ответить с цитированием
  #6 (permalink)  
Старый 28.11.2016, 18:59
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

karakym,
Ну так попробуйте вместо
a-zA-Z0-9-
вот это
а-яА-ЯёЁa-zA-Z0-9-
Ответить с цитированием
  #7 (permalink)  
Старый 29.11.2016, 00:58
Аватар для karakym
Профессор
Отправить личное сообщение для karakym Посмотреть профиль Найти все сообщения от karakym
 
Регистрация: 21.02.2010
Сообщений: 213

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение для валидации номеров Украины Alex_ya Общие вопросы Javascript 1 13.05.2014 15:19
Помогите написать регулярное выражение bigjoy Общие вопросы Javascript 2 15.02.2014 23:23
Как написать регулярное выражение для поиска до конца строки isqad88 Общие вопросы Javascript 3 11.02.2012 15:34
Регулярное выражение: любой символ, включая перевод строки Gleb Общие вопросы Javascript 3 28.07.2011 12:15
Регулярное выражение для youtube.com Romych Общие вопросы Javascript 10 28.06.2010 21:40