| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Регулярные выражения |
| Автор: Gold Dragon 26.12.2004, 12:01 |
| Нужна помощь, совсем запутался... Мне нужно проверить поля - только текст [a-zA-Zа-яА-Я] - только цифры [0-9] скобки, тире var a = document.form.fam.value var rez1 = new RegExp (/[a-zA-Zа-яА-Я]/g); rez1.test(a) - пропускает если есть и цифры и буквы. Что я делаю не так? |
| Автор: Black 26.12.2004, 12:29 | ||||
JavaScript:
HTML-код:
Это уж точно не пропустит цифры :-) больше того этот код вообще не пропустит ничего кроме букв. |
| Автор: Sardar 26.12.2004, 15:28 | ||
Red Dragon ты рег не правильный задал:
PHP-DIRECTOR у тебя та же проблема + ты используешь exec не совсем там где нужно. Лучше test. |
| Автор: Black 26.12.2004, 17:34 | ||
а почему??? где его лучше использовать??? |
| Автор: Sardar 26.12.2004, 18:19 |
| Метод exec выдаёт массив найденных строк + всё что было в захватывающих скобках. Если массив пуст, то приведение его к boolean даст false. Но ведь это не совсем согласно логике(моей логике Также метод test не сохраняет массива и не выбирает строки, следовательно работает быстрее. |
| Автор: Gold Dragon 26.12.2004, 18:36 |
| Sardar а вообще, регулярные выражения везде поодерживаются, т.е. проблем не будет.. Просо я их никогда не использовал, а теперь вот решился |
| Автор: Sardar 26.12.2004, 19:26 |
| Red Dragon чувствуешь силу? =) Теперь осталось разобратося со всеми возможностями, т.к. в JS реги чуть урезанней чем настоящие PCRE. А следующим шагом будет изучение формальных грамматик и реализация собственных регов(не на JS естественно), за одно и уйдёт не правильное мнение что реги медленные |
| Автор: Aliance 26.12.2004, 19:26 |
| Red Dragon Нет. Не будет. Они поддерживаються большинством совр. брацзеров. Они очень компактны и удобны |
| Автор: Gold Dragon 26.12.2004, 20:03 |
| Большое Спасибо! С наступающим... |
| Автор: Aliance 26.12.2004, 20:41 | ||
| Вот еще почитай: http://forum.vingrad.ru/index.php?showtopic=36336
|