Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.04.2013, 08:16
Интересующийся
Отправить личное сообщение для тома Посмотреть профиль Найти все сообщения от тома
 
Регистрация: 23.11.2009
Сообщений: 29

Регулярное выражение - проверка ввода
Всем привет.

Чтобы проверить соответствует ли значение шаблону установлена проверка:
<input type="text" id="test2"  name="test2"  
		   value=""
		   onblur="if(!/^[А-Я][а-я]*/.test(this.value)) {alert('Неверный формат ввода'); this.value='';}"
		   size="37">


Чтобы запретить ввод не допускаемых символов:
<input type="text" id="test"  name="test"  
		   value=""
		   onkeyup="if(/[^а-яА-Я\s]/.test(this.value))this.value=this.value.replace(/[^а-яА-Я\s]+/g,'')"
		   size="37">


Скажите пожалуйста, можно ли объединить эти две проверки, чтобы сразу при вводе удалялись запрещенные символы?

И скажите пожалуйста, на текстовые поля такие как ФИО не принято же ставить маски ввода, да?
Ответить с цитированием
  #2 (permalink)  
Старый 01.04.2013, 09:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от тома
на текстовые поля такие как ФИО не принято же ставить маски ввода, да?
Если есть желание - почему не поставить...
Например можно запретить ввод цифр (Пётр 1 тогда не прокатит) или запретить английские буквы...
Ответить с цитированием
  #3 (permalink)  
Старый 01.04.2013, 09:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от тома
можно ли объединить эти две проверки
Разумеется.
Напиши функцию, которая выполняет оба кода и вызывай её в тех событиях...
Ответить с цитированием
  #4 (permalink)  
Старый 01.04.2013, 09:55
Интересующийся
Отправить личное сообщение для тома Посмотреть профиль Найти все сообщения от тома
 
Регистрация: 23.11.2009
Сообщений: 29

Сообщение от ksa Посмотреть сообщение
Разумеется.
Напиши функцию, которая выполняет оба кода и вызывай её в тех событиях...
Я не много не правильно описала что хочу...
Я хотела узнать, можно ли событие
onblur="if(!/^[А-Я][а-я]*/.test(this.value)) {alert('Неверный формат ввода'); this.value='';}"


переделать в событие onkeyup?
у меня не получается....
Ответить с цитированием
  #5 (permalink)  
Старый 01.04.2013, 10:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от тома
Я хотела узнать, можно ли событие
onblur="if(!/^[А-Я][а-я]*/.test(this.value)) {alert('Неверный формат ввода'); this.value='';}"

переделать в событие onkeyup?
у меня не получается....
Дык

onkeyup="if(!/^[А-Я][а-я]*/.test(this.value)) {alert('Неверный формат ввода'); this.value='';}"
Ответить с цитированием
  #6 (permalink)  
Старый 01.04.2013, 10:55
Интересующийся
Отправить личное сообщение для тома Посмотреть профиль Найти все сообщения от тома
 
Регистрация: 23.11.2009
Сообщений: 29

ksa, нет

чтобы сразу при вводе удалялись запрещенные символы?

то есть на событие onkeyup, мне не нужно выводить alert(), а сразу сделать замену надо недоступного символа на пустое значение как в примере this.value=this.value.replace(), чтобы не допустить ввод запрещенных символов...
Или это очень сложно?
Ответить с цитированием
  #7 (permalink)  
Старый 01.04.2013, 11:08
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Вот, недоступные символы сразу заменяются, что не так?
<input type="text" id="test" name="test" value="" size="37">
<script>
function replace() {
 this.value = this.value.replace(/[^а-яА-Я\s]+/g,'') ;
} ;
document.getElementById("test").onkeyup = replace ;
</script>
__________________
★ ²º¹³ ☆

Последний раз редактировалось Hekumok, 01.04.2013 в 11:10.
Ответить с цитированием
  #8 (permalink)  
Старый 01.04.2013, 12:08
Интересующийся
Отправить личное сообщение для тома Посмотреть профиль Найти все сообщения от тома
 
Регистрация: 23.11.2009
Сообщений: 29

похоже я совсем не понятно объяснилась...

Hekumok, так Вы же показали тот пример который и так работает.
А мне нужно такую замену написать для шаблона:
^[А-Я][а-я]*

вот это как раз таки и не получается.
Ответить с цитированием
  #9 (permalink)  
Старый 01.04.2013, 17:19
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Так? Или как? Объясните нормально, что вам нужно, что вы хотите
<input type="text" id="test" name="test" value="" size="37">
<script>
function replace() {
 this.value = this.value.replace(/^[А-Я][а-я]*/g,'') ;
} ;
document.getElementById("test").onkeyup = replace ;
</script>
__________________
★ ²º¹³ ☆

Последний раз редактировалось Hekumok, 02.04.2013 в 11:50.
Ответить с цитированием
  #10 (permalink)  
Старый 02.04.2013, 07:26
Интересующийся
Отправить личное сообщение для тома Посмотреть профиль Найти все сообщения от тома
 
Регистрация: 23.11.2009
Сообщений: 29

да, так... только пример то не работает, какой бы символ я не ввела - замены не происходит...

Попытаюсь еще раз объяснить:
Данный пример, не позволяет пользователю вводить в текстовое поле ничего кроме русских букв и пробела.
<input type="text" id="test"  name="test" 
	           value=""
	           onkeyup="if(/[^а-яА-Я\s]/.test(this.value))this.value=this.value.replace(/[^а-яА-Я\s]+/g,'')"
	           size="37">

Мне нужно изменить этот пример так, чтобы пользователь первым символом мог ввести только заглавную русскую букву, а все остальные символы допускается вводить только маленькими русскими или пробел.
Понятно объяснила или опять не очень?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка e-mail регулярное выражение mycoding Общие вопросы Javascript 4 09.02.2017 10:12
Помогите написать регулярное выражение denfer12 Общие вопросы Javascript 19 10.06.2012 00:11
регулярное выражение martinss jQuery 5 29.07.2011 12:46
Регулярное выражение: любой символ, включая перевод строки Gleb Общие вопросы Javascript 3 28.07.2011 12:15
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29