![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| study |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 20.9.2004 Репутация: нет Всего: нет |
Народ, подскажите мне как проверить ввод пользователя. Строка может содержать только цифры от 0 до 9, символ пробела, символ ':' и символ '-'.
Заранее спасибо!!! |
|||
|
||||
| Phoinix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 16.11.2004 Где: Moskau Репутация: нет Всего: 2 |
study
~ /^[\d\s\:\-]+$/; |
|||
|
||||
| GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
$var =~ /^[0-9 :-]+$/;
|
|||
|
||||
| study |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 20.9.2004 Репутация: нет Всего: нет |
Спасибо, сейчас попробую.
|
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
Сколько может быть пробелов, :,- ??? и приведи пример |
|||
|
||||
| GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
а какая разница? |
|||
|
||||
| study |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 20.9.2004 Репутация: нет Всего: нет |
Я правильно проверяю? А пример 2004-12-06 14:09:47, но времени может и не быть...
|
|||
|
||||
| chaos |
|
||||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
А пример 2004-12-06 14:09:47 я бы проверял так:
и так далее Это сообщение отредактировал(а) chaos - 9.12.2004, 16:50 |
||||||
|
|||||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| chaos |
|
||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
а если будет вот такая хрень: 2004-43-32 это же не дата а п воему шаблону всебудет хорошо |
||||
|
|||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
А для этого, нужно узнать, стоит-ли вообще делать такую проверку. ;))) Потому как за каждое уточнение прийдётся платить производительностью. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| chaos |
|
||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
если задача стоит проверить правельность даты то нужно делать такие проверки иначе нет смысла тк твой шаблон проверяет только на порядок и кол-во цифр |
||||
|
|||||
| study |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 126 Регистрация: 20.9.2004 Репутация: нет Всего: нет |
chaos, можешь дать кусок готового кода? Pls....
|
|||
|
||||
| chaos |
|
||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
Вот тебе пример, вроде все работает
ps Инересны ваши замечания Это сообщение отредактировал(а) chaos - 9.12.2004, 14:28 |
||||
|
|||||
| chaos |
|
||||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
Вот этим ты вообще не понятно что пытался сделать:
|
||||||
|
|||||||
| dimes |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 20.7.2004 Где: то около СПБ Репутация: нет Всего: 14 |
Да? А если будет так : 2004-11-31 или 2003-02-29 ? Коректность даты регуляркой проверить нельзя только порядок и кол-во цифр |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Думаю что этим он пытался ответить на этот вопрос: Народ, подскажите мне как проверить ввод пользователя. Строка может содержать только цифры от 0 до 9, символ пробела, символ ':' и символ '-'. Заранее спасибо!!! Как видишь, здесь вообще ничего не сказано, по поводу даты и времени.
Да, ты совсем не экономишь ресурсы. 1.) Почему же ты не проверяешь год? 2.) Используя в регулярных выражениях символ "|", ты нагружаешь систему. А у тебя он встречается сколько раз? 3.) Круглых скобок понаставил, а переменные $1, $2 и т.д. не используешь. ( а это, драгоценная, память ;))) ). Вобщем если есть у тебя книга "Perl - Библиотека программиста", открой станицу 104 и почитай о том, как парсит дату Том Кристиансен. Давай не будем считать его за лоха, чел можно сказать жизнь посвятил языку Perl. Удачи. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| chaos |
|
||||||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
Хорошо!!! Я принел во внимания Ваши замечания, действительно конструкция моя нагружена ненужными элементами, но сдругой стороны это как ни как пример, а тот кто им будет пользоваться может как ему нужно его изменить!!!
Вот еще один примерчик набросал:
ps Также интересны ваши замечания Добавлено @ 14:29
ты прав! новое решение см. выше Это сообщение отредактировал(а) chaos - 10.12.2004, 14:30 |
||||||
|
|||||||
| Phoinix |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 16.11.2004 Где: Moskau Репутация: нет Всего: 2 |
chaos
Вот это:
Заменить на:
Это сообщение отредактировал(а) Phoinix - 10.12.2004, 19:08 |
||||
|
|||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |