Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярные выражения (https://javascript.ru/forum/misc/23678-regulyarnye-vyrazheniya.html)

9xakep 01.12.2011 22:28

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

trikadin 01.12.2011 22:35

Во-первых, возвращает 0. А во-вторых, что ещё метод search должен возвращать?

9xakep 01.12.2011 22:57

Извиняюсь, перепутал, использовал метод 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>

Переделал, почему русские буквы не заменяются?

trikadin 01.12.2011 23:11

Потому что ф-ция 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="">

devote 01.12.2011 23:14

trikadin,
не ругайся, кстати delete зарезервировано, поэтому он и написал delet

trikadin 01.12.2011 23:16

Цитата:

Сообщение от devote
не ругайся, кстати delete зарезервировано, поэтому он и написал delet

Ага, я сам тупанул)) Уже поправил...

9xakep 02.12.2011 14:57

Спасибо


Часовой пояс GMT +3, время: 04:39.