![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Caretaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.7.2008 Репутация: нет Всего: нет |
вобщем нужно чтобы $inn было в формате 999-999-99999999 где 9 любая цифра.В программе у меня это работает так:если например в первой тройке цифр меньше трех то условие срабатывает,а если цифр больше указанного числа то программа говорит что все норм.А мне надо чтобы было в точности 999-999-99999999.Т.е не меньше и не больше цифр.какая ошибка в синтаксисе? |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
ну так оно и есть ровно так, как ты пишешь
Наглядно видно, что число 999999-999-99999999 попадает под твою маску. надо, наверное, проверять всю строку, а не её часть? |
|||
|
||||
| Caretaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.7.2008 Репутация: нет Всего: нет |
не пойму...можешь привести исправленный код?
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Нет, не могу.
http://ru2.php.net/manual/ru/regexp.reference.php - тут все написано. тебе надо, чтобы твой шаблон совпадал со строкой полностью, от начала до конца. |
|||
|
||||
| Caretaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.7.2008 Репутация: нет Всего: нет |
спасибо.просто на пхп сижу всего день.на одно задание только.и изза незнания синтаксиса работа идет немного долго....
|
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Ну, для человека, который на пхп сидит всего день, ты весьма продвинут.
Тут некоторые годами сидят, и даже такую регулярку, или что-то аналогичное по трудозатратам составить не в состоянии - клянчат, чтобы за них все написали. Нужные тебе модификаторы находятся в самом верху списка. строго говоря, синтаксис регулярок - это синтаксис регулярок. к пхп он имеет такое же отношение, как и к яве. Это сообщение отредактировал(а) Feldmarschall - 6.7.2008, 17:03 |
|||
|
||||
| Caretaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.7.2008 Репутация: нет Всего: нет |
вроде разобрался.)спасибо.пхп канеш круто но мне ближе C#.)но все же штука неплохая.со своими плюсами)
|
|||
|
||||
| Caretaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.7.2008 Репутация: нет Всего: нет |
как я понял нужно чтото вроде этого:
но работает также...шаблон вроде правильно написан? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
|
|||
|
||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: 6 Всего: 13 |
Нет
Во-первых, так как вам не важно, что там за цифры, а нужно только проверить шаблон, то от скобок можно избавиться. Во-вторых, о чём и говорил Feldmarschall, нужно ограничить границы, чтобы не подходили строки, содержащие нужное в качестве подстроки. Для этого есть модификаторы начала и конца строки либо, например, границы слова. О них сказано в начале мануала. Добавлено через 36 секунд Т.е. то что привёл Mal Hack. -------------------- |
|||
|
||||
| Caretaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.7.2008 Репутация: нет Всего: нет |
Warning: preg_match() [function.preg-match]: Compilation failed: unmatched parentheses at offset 20 in Z:\home\taksnet.ru\www\ver2.php on line 30
вот что выдает када вставляю код Mal Hack'a что это? Добавлено через 3 минуты и 6 секунд line 30 это как раз код который я вставил |
|||
|
||||
| Sannis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 14.8.2007 Где: Москва Репутация: 6 Всего: 13 |
Ваша, на пару, невнимательность. Надо убрать скобку лишнюю и не экранировать дефисы, они не в диапазоне.
-------------------- |
|||
|
||||
| Caretaker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 5.7.2008 Репутация: нет Всего: нет |
Большое спасибо!без помощи бы разбирался очень долго.
|
|||
|
||||
![]()
|
| Правила форума "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. |