![]() |
|
||||||||||
|
|||||
|
Помогите разобрать с проверкой ввода даты:
$_POST["end_pokaz"]=trim($_POST["end_pokaz"]);
if(!empty($_POST["end_pokaz"]))
{
if (!preg_match("/[0-9]+[0-9\.]+\.[0-9]+[0-9\.]+\.[0-9]+[0-9]/i", $_POST["end_pokaz"]))
{
$action = "";
$error = $error."<LI>Неверно введена дата \n";
}
}
![]() |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 29
|
Мдя... немного бреда ты написал, наверно удобнее было б так:
+ вотето для читабельности лучше вот так: А регулярка вроде должна быть такая (в регулярках я слаб): if (!preg_match("/[0-9]{2,2}+\.+[0-9]{2,2}+\.+([0-9]{2,2}|[0-9]{4,4})/i", $_POST["end_pokaz"]))
![]() Последний раз редактировалось UnVisible; 09.04.2008 в 14:36. |
|
|||||
|
Регулярочка неработает....блин
Кстати а почему так if (!preg_match("/[0-9]{2,2}+\.+[0-9]{2,2}+\.+([0-9]{2,2}|[0-9]{4,4})/i", $_POST["end_pokaz"]))
Последний раз редактировалось forward; 11.04.2008 в 10:21. |
|
|||||
|
Регистрация: Oct 2007
Адрес: Латвия
Сообщений: 62
|
По-моему, регулярочкой дату не очень проверять, количество дней в месяцах разное (и не равное 99), количество месяцев тоже 12, только с годами всё просто, и то по большому счёту можно было бы принимать четырёхзначные
__________________
не уверен – не отвечай! |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 29
|
Цитата:
А по поводу что месяц имеет не 99 дней - можно будет и елементарным ИФом проверить! =) |
|
|||||
|
if (!preg_match("/\d{1,2}\.\d{1,2}\.\d{2,4}/", $_POST["end_pokaz"]))
чтобы понять вашу ошибку почитайте что скрывает за собой символ + да и не стоит полагатся на регулярко, как правило она используется чтобы вытащить из строки день, месяц и год, а дальше уже проверять нормальность ввода ведь такая регулярка скушает и такое: 0.0.00 |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:51. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|