Регулярное выражение - проверка ввода
Всем привет.
Чтобы проверить соответствует ли значение шаблону установлена проверка:
<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, время: 22:56. |