Регулярные выражения
Почему возвращает 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, время: 20:27. |