Регулярные выражения
Почему возвращает false?
<input type='text' onkeyup='delet(this.id)' id='text' onchange='delet(this.id)' value="почему так"> <script> function delet(obj) { alert(document.getElementById(obj).value.search(/[А-Яа-я]/g)) } </script> |
Во-первых, возвращает 0. А во-вторых, что ещё метод search должен возвращать?
|
Извиняюсь, перепутал, использовал метод test()
<input type='text' onkeyup='delet(this)' id='text' onchange='delet(this)' value=""> <script> function delet(obj) { if(/[А-Яа-я]/.test(obj.value)) { obj.value.replace(/[А-Яа-я]/, '') } } </script> Переделал, почему русские буквы не заменяются? |
Потому что ф-ция replace не модифицирует саму строку, она лишь возвращает результат изменений. И проверка не нужна.
<script> function check(obj) { // delet*!*e*/!* зарезервированное слово... obj.value=obj.value.replace(/[а-я]*/gi, '') }; </script> <input type='text' onkeyup='check(this)' id='text' onchange='check(this)' value=""> |
trikadin,
не ругайся, кстати delete зарезервировано, поэтому он и написал delet |
Цитата:
|
Спасибо
|
Часовой пояс GMT +3, время: 04:39. |