![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Prontit |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: 1 Всего: 1 |
Здравствуйте!
Необходимо составить регулярное выражение, что-то типа ^(1|2|3)\d{5}, это я пытался сделать сам, оно не работает, но думаю по нему будет понятно что я пытался сделать |
|||
|
||||
| $дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 17 Всего: 45 |
|
|||
|
||||
| Prontit |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: 1 Всего: 1 |
не работает(
или я что-то не так делаю? |
||||||
|
|||||||
| $дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 17 Всего: 45 |
Тебе нужно проверить является ли строка числом из 5 символов?
|
|||
|
||||
| Prontit |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: 1 Всего: 1 |
длина строки должна быть строго 6 символов (цифр), и она должна начинаться с 1, 2 или 3 |
|||
|
||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Пора переходить на POSIX регулярки. http://ru2.php.net/ereg
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| Prontit |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: 1 Всего: 1 |
а какую мне функцию использовать для проверки?? |
||||||
|
|||||||
| $дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 17 Всего: 45 |
Можно так, можно вообще без регулярки
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Просто вcе уже перешли давно на posix и забыли(не знали) как надо работать с ereg , однако из дремучих книжек выкапываются примеры для ereg и вводят народ в заблуждение. Совершенно честно-честно, без регулярки -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| $дмитрий |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1037 Регистрация: 19.6.2004 Репутация: 17 Всего: 45 |
А что такое, я показал более сложный пример используя РВ, другой способ оставил на совести автора. Пусть включает мозг и пробует |
|||
|
||||
| Prontit |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: 1 Всего: 1 |
Только начал работать с регулярками. Подскажите, пожалуйста, как лучше и оптимальнее всего решить эту задачу.
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
пользоваться preg_match и другими preg-... функциями вместо ereg. Чем не устраивают приведенные решения? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Prontit |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: 1 Всего: 1 |
Все устраивает. Спасибо за совет! сделал так
|
|||
|
||||
| Prontit |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 19.10.2011 Репутация: 1 Всего: 1 |
Опять не получается разобраться с регуляркой "денежного формата", т.е. сначала от 1 до 5 цифр, потом "." (может быть, может не быть), и если она есть, то от 1 до 2х цифр в конце.
что-то типа этого, но вариант не рабочий
и еще надо регулярку сделать для дата/время "YYYY-MM-DDThh:mm:ss" я так понимаю с нуля довольно тяжело написать такое, может быть есть готовые решения? ------------------------------------------- нашел готовые решения, надо соединить части, и добавить Т между ними. Дата в формате YYYY-MM-DD: [0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01]) Более строгая проверка (19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31) Время в формате HH:MM:SS ^([0-1]\d|2[0-3])(:[0-5]\d){2}$ Это сообщение отредактировал(а) Prontit - 5.1.2012, 09:30 |
|||
|
||||
| Evghenusi |
|
|||
![]() майский жук ![]() ![]() Профиль Группа: Участник Сообщений: 506 Регистрация: 3.8.2006 Где: Молдова, Кишинёв Репутация: 6 Всего: 15 |
#^\d{1,5}(\.\d{1,2})?$#
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |