Регулярное выражение - проверка ввода
Всем привет.
Чтобы проверить соответствует ли значение шаблону установлена проверка: <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"> Скажите пожалуйста, можно ли объединить эти две проверки, чтобы сразу при вводе удалялись запрещенные символы? И скажите пожалуйста, на текстовые поля такие как ФИО не принято же ставить маски ввода, да? |
Цитата:
Например можно запретить ввод цифр (Пётр 1 тогда не прокатит) или запретить английские буквы... |
Цитата:
Напиши функцию, которая выполняет оба кода и вызывай её в тех событиях... |
Цитата:
Я хотела узнать, можно ли событие onblur="if(!/^[А-Я][а-я]*/.test(this.value)) {alert('Неверный формат ввода'); this.value='';}" переделать в событие onkeyup? у меня не получается.... |
Цитата:
onkeyup="if(!/^[А-Я][а-я]*/.test(this.value)) {alert('Неверный формат ввода'); this.value='';}" |
ksa, нет:)
чтобы сразу при вводе удалялись запрещенные символы? то есть на событие onkeyup, мне не нужно выводить alert(), а сразу сделать замену надо недоступного символа на пустое значение как в примере this.value=this.value.replace(), чтобы не допустить ввод запрещенных символов... Или это очень сложно? |
Вот, недоступные символы сразу заменяются, что не так?
<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, так Вы же показали тот пример который и так работает. А мне нужно такую замену написать для шаблона: ^[А-Я][а-я]* вот это как раз таки и не получается. |
Так? Или как? Объясните нормально, что вам нужно, что вы хотите
<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> |
да, так... только пример то не работает, какой бы символ я не ввела - замены не происходит...
Попытаюсь еще раз объяснить: Данный пример, не позволяет пользователю вводить в текстовое поле ничего кроме русских букв и пробела. <input type="text" id="test" name="test" value="" onkeyup="if(/[^а-яА-Я\s]/.test(this.value))this.value=this.value.replace(/[^а-яА-Я\s]+/g,'')" size="37"> Мне нужно изменить этот пример так, чтобы пользователь первым символом мог ввести только заглавную русскую букву, а все остальные символы допускается вводить только маленькими русскими или пробел. Понятно объяснила или опять не очень? :write: |
Часовой пояс GMT +3, время: 16:43. |