![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Bangladesh |
|
|||
![]() AsBest ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1089 Регистрация: 4.9.2004 Где: Калининград Репутация: нет Всего: 17 |
требуется сделать дату в ворамате DD.MM.YY, которую надо будет вводить при регистрации, как например в БК:
<input type=text name=bdate> как сделать, чтобы условие проверяло, что формат DD.MM.YY сходиться? т.е. указан правильно? -------------------- ок |
|||
|
||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
-------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
Делать explode по разделителям и проверять поля...
|
|||
|
||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
а не прощи-ли превести дату в формат переменной?
-------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| skalex |
|
|||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
регулярным выражением можно
|
|||
|
||||
| yUAC |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 9.6.2004 Репутация: 3 Всего: 3 |
Типа if(preg_match('/^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$/s'),$_REQUEST['bdate']); ... Хотя лучше конечно explode по . и проверять отдельно каждый кусок
|
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Лучше проверять сначала javascript и повторно на сервере explode.
|
|||
|
||||
| Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
Secandr
ему бы на пхп сначала |
|||
|
||||
| Bangladesh |
|
||||
![]() AsBest ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1089 Регистрация: 4.9.2004 Где: Калининград Репутация: нет Всего: 17 |
там совсем другое Добавлено @ 01:15
а вот это что-то похоже на то, что я имел ввиду: if(preg_match('/^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$/s'),$_REQUEST['bdate']); можно только уточнить некоторые нюансы? : [0-9] - это диапазон ввобда числа? {2}, {4} - и что такое это? $/s - ? /^ - ? я понимаю - вопросы конечно гы-гы, но если можно поясните плиз... Это сообщение отредактировал(а) I, GyoZ - 10.11.2004, 01:16 -------------------- ок |
||||
|
|||||
| Guest |
|
|||
|
Unregistered |
{2}, {4} - кол-во цифр
^ - начало строки $ - конец /s - whitespace, если память не изменяет |
|||
|
||||
| Bangladesh |
|
|||
![]() AsBest ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1089 Регистрация: 4.9.2004 Где: Калининград Репутация: нет Всего: 17 |
/n - по моему конец...
а что же такое s/ спасибо Гостю -------------------- ок |
|||
|
||||
| yUAC |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 9.6.2004 Репутация: 3 Всего: 3 |
Все реги нужно оформлять в виде:
/regular_expression/flags так вот, flags (модификаторы) могут быть следующие: i (PCRE_CASELESS) Если этот модификатор используется, символы в шаблоне соответствуют символам как верхнего, так и нижнего регистра. m (PCRE_MULTILINE) По умолчанию PCRE обрабатывает данные как однострочную символьную строку (даже если она содержит разделители строк). Метасимвол начала строки '^' соответствует только началу обрабатываемого текста, в то время как метасимвол "конец строки" '$' соответствует концу текста, либо позиции перед завершающим текст переводом строки (в случае, если модификатор D не установлен). В Perl ситуация полностью аналогична. Если этот модификатор используется, метасимволы "начало строки" и "конец строки" также соответствуют позициям перед произвольным символом перевода и строки и, соответственно, после. Это соответствует Perl-модификатору \m. В случае, если обрабатываемый текст не содержит символов перевода строки, либо шаблон не содержит метасимволов '^' или '$', данный модификатор не имеет никакого эффекта. s (PCRE_DOTALL) Если данный модификатор используется, метасимвол "точка" в шаблоне соответствует всем символам, включая перевод строк. Без него - всем, за исключением переводов строк. Этот модификатор эквивалентен записи /s в Perl. Класс символов, построенный на отрицании, например [^a], всегда соответствует переводу строки, независимо от наличия этого модификатора. x (PCRE_EXTENDED) Если данный модификатор используется, неэкранированные пробелы, символы табуляции и пустой строки в шаблоне игнорируются, если они не являются частью символьного класса. Также игнорируются все символы между неэкранированным символом '#' (если он не является частью символьного класса) и символом перевода строки (включая сами символы '\n' и '#'). Это эквивалентно Perl-модификатору \x, и позволяет размещать комментарий в сложных шаблонах. Замечание: это касается только символьных данных. Пробельные символы не фигурируют в служебных символьных последовательностях, к примеру, в последовательности '(?(', открывающей условную подмаску. e Если данный модификатор используется, preg_replace() после выполнения стандартных подстановок в заменяемой строке интерпретирует ее как PHP-код и использует результат для замены искомой строки. Только preg_replace() реагирует на данный модификатор; остальными функциями он игнорируется. Замечание: Этот модификатор недоступен в PHP 3. A (PCRE_ANCHORED) Если данный модификатор используется, соответствие шаблону будет достигаться только в том случае, если он соответствует началу строки, в которой производится поиск. Того же эффекта можно достичь подходящей конструкцией с вложенным шаблоном, которая реализуема в Perl. D (PCRE_DOLLAR_ENDONLY) Если данный модификатор используется, метасимвол $ в шаблоне соответствует только окончанию обрабатываемых данных. Без этого модификатора метасимвол $ соответствует также позиции перед последним символом, в случае, если им является перевод строки (но не распространяется на любые другие переводы строк). Данный модификатор игнорируется, если используется модификатор m. В языке Perl аналогичный модификатор отсутствует. S В случае, если планируется многократно использовать шаблон, имеет смысл потратить немного больше времени на его анализ, чтобы уменьшить время его выполнения. В случае, если данный модификатор используется, проводится дополнительный анализ шаблона. В настоящем это имеет смысл только для фиксированных шаблонов, не содержащих переменных ссылок. U (PCRE_UNGREEDY) Этот модификатор инвертирует жадность квантификаторов, таким образом они по умолчанию не жадные. Но становятся жадными, если за ними следует символ '?'. Такая возможность не совместима с Perl. Модификатор U также может использоваться внутри шаблона, при помощи '?U' записи. X (PCRE_EXTRA) Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: любой обратный слеш в шаблоне, за которым следует символ, не имеющий специального значения, приводят к ошибке. Это обусловлено тем, что подобные комбинации зарезервированы для дальнейшего развития. По умолчанию же, как и в Perl, слеш со следующим за ним символом без специального значения трактуется как as опечатка. На сегодняшний день это все возможности, которые управляются данным модификатором u (PCRE_UTF8) Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: шаблоны обрабатываются как UTF8 строки. Модификатор u доступен в PHP 4.1.0 и выше для Unix-платформ, и в PHP 4.2.3 и выше для Windows платформ. P.S. Не путайте прямой / слеш с \ обратным, /n и \n это далеко не одно и то же. |
|||
|
||||
![]()
|
| Правила форума "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. |