Помогите пожалуйсто.
Спустя 5 минут, 31 секунда (7.10.2011 - 14:37) Lightt написал(а):
preg_match(/[0-9]{2}.[0-9]{2}.[0-9]{4},[0-9]{2}:[0-9]{2}/)
что то типо того
Спустя 3 минуты, 10 секунд (7.10.2011 - 14:40) Skesh написал(а):
Lightt а можеш обяснить что где означает? атож снова буду людей мучать, я буду очень признателен!!
Спустя 1 минута, 50 секунд (7.10.2011 - 14:42) Lightt написал(а):
$subject = "22.12.2010,12:00";
$data = "/[0-9]{2}.[0-9]{2}.[0-9]{4},[0-9]{2}:[0-9]{2}/";
if (preg_match ($data, $subject))
{
echo "дата найдена";
}
Так понятней будет...
ищем числа от 0 до 9 {2} - это значит 2 числа ну и т.д.
Спустя 3 минуты, 19 секунд (7.10.2011 - 14:45) Skesh написал(а):
Lightt спасибо большое!!! А если скажем мне нужно проверить переменую, чтобы в ней были только цифры, и только цифры, такая запись подойдет?:
ну вот только я как бы не знаю сколько имено цифр в переменой, так правилно?
А еще вот этот код не работает:
$subject = "221210";
$data = "/[0-9]{10}/";
if (preg_match ($data, $subject))
{
echo "дата найдена";
}
ну вот только я как бы не знаю сколько имено цифр в переменой, так правилно?
А еще вот этот код не работает:
$data = "/[0-9]{2}.[0-9]{2}.[0-9]{4},[0-9]{2}:[0-9]{2}/";Сюда еще пробел после комы нужн, не подскажете как его туда всунуть?
Спустя 6 минут, 3 секунды (7.10.2011 - 14:51) dadli написал(а):
Спустя 13 минут, 17 секунд (7.10.2011 - 15:04) Lightt написал(а):
Цифры можешь проверить так -
А насчет пробела... ну просто поставь его в регулярке о_О после запятой -
И насчет того кода)) он правда не совсем корректен если введешь время 66:99 он так же отобразит что это время)
$data ="/^[0-9]*$/";
А насчет пробела... ну просто поставь его в регулярке о_О после запятой -
$data = "/[0-9]{2}.[0-9]{2}.[0-9]{4}, [0-9]{2}:[0-9]{2}/";
И насчет того кода)) он правда не совсем корректен если введешь время 66:99 он так же отобразит что это время)
Спустя 28 минут, 7 секунд (7.10.2011 - 15:33) killer8080 написал(а):
Lightt
зачем прописывать символьный класс [0-9], когда можно проще \d
и символ "точка" нужно экранировать так \.
зачем прописывать символьный класс [0-9], когда можно проще \d
и символ "точка" нужно экранировать так \.
Спустя 2 минуты, 16 секунд (7.10.2011 - 15:35) Invis1ble написал(а):
Спустя 4 минуты, 45 секунд (7.10.2011 - 15:40) Lightt написал(а):
killer8080
Насчет проще это спорно... мне как бы гораздо проще запомнить [0-9] это чем какую то букву, и в каком то регистре, включил капс, и ищи потом в чем проблема пол ночи. \d чем то реально лучше?
Ну и если уж на то пошло то и пробел \s но как бы работает и без этого, смотря для каких целей =) если ему например лабу надо сдать в универе, то уж лучше кода по минимуму и как можно понятней, если для чего то важного, то все равно ему придется читать про регулярки.
Насчет проще это спорно... мне как бы гораздо проще запомнить [0-9] это чем какую то букву, и в каком то регистре, включил капс, и ищи потом в чем проблема пол ночи. \d чем то реально лучше?
Ну и если уж на то пошло то и пробел \s но как бы работает и без этого, смотря для каких целей =) если ему например лабу надо сдать в универе, то уж лучше кода по минимуму и как можно понятней, если для чего то важного, то все равно ему придется читать про регулярки.
Спустя 7 минут, 4 секунды (7.10.2011 - 15:47) Skesh написал(а):
Нужно для сайта, проверить правильность ввода даты пользователем. Нащет пробела - пробывал, не работает, 66:99 такой результат тоже не годится, возможно ли вобще использовать preg_match для проверки дыты/время?
Invis1ble а как проверить время с помощю checkdate?
Invis1ble а как проверить время с помощю checkdate?
Спустя 4 минуты, 16 секунд (7.10.2011 - 15:51) Invis1ble написал(а):
Цитата |
возможно ли вобще использовать preg_match[b] для проверки таких дыты/время? |
возможно, я ведь дал ссылку на свой пост с примером для проверки корректности даты, дополнительно можно и проверку времени ввести
насчет ф-ций для проверки - не помню, покури мануал или напиши свою
Спустя 8 минут, 22 секунды (7.10.2011 - 15:59) Игорь_Vasinsky написал(а):
Цитата |
мне нужно проверить привильность формата такой даты: "07.10.2011, 14:31" |
Invis1ble
твой топик почти бы подошёл, его тока малость усовершенствовать, чтоб и время проверя... ну это фигня по сравнению что ты там сделал уже.
Спустя 2 минуты, 29 секунд (7.10.2011 - 16:02) Invis1ble написал(а):
Игорь_Vasinsky
я просто показал, что в принципе это возможно сделать регулярками. Если у ТС есть желание, пусть допишет мою регулярку
я просто показал, что в принципе это возможно сделать регулярками. Если у ТС есть желание, пусть допишет мою регулярку
Спустя 3 минуты, 13 секунд (7.10.2011 - 16:05) Игорь_Vasinsky написал(а):
и я об этом же.
Спустя 9 минут, 57 секунд (7.10.2011 - 16:15) killer8080 написал(а):
Skesh
лови
лови
function check_date($str){
if(!preg_match('#^(\d{2})\.(\d{2})\.(\d{4}), *(\d{2}):(\d{2})$#', $str, $match))
return false;
list(, $day, $month, $year, $hours, $minutes) = $match;
if(!checkdate($month, $day, $year))
return false;
if($hours > 23 || $minutes > 59)
return false;
return true;
}
Спустя 1 час, 1 минута, 39 секунд (7.10.2011 - 17:17) Skesh написал(а):
Слабоват я в PHP чтобы дописать самому, но если никто не подскажет пойду искать дальше
Спустя 1 минута, 22 секунды (7.10.2011 - 17:18) Skesh написал(а):
Ешкин кот, killer8080 спасибо большое, удружил! =)
Спустя 38 минут, 55 секунд (7.10.2011 - 17:57) killer8080 написал(а):
Skesh
вот более компактный вариант
вот более компактный вариант
function check_date($str){
if(!preg_match('#^(\d{2})\.(\d{2})\.(\d{4}), *(\d{2}):(\d{2})$#', $str, $m))
return false;
return checkdate($m[2], $m[1], $m[3]) && $m[4] < 24 && $m[5] < 60;
}
Спустя 5 часов, 23 минуты, 25 секунд (7.10.2011 - 23:20) Skesh написал(а):
Еще раз спасибо! Вот уважаю людей которые дают то что просят, а не "дельные советы".
Спустя 12 минут, 32 секунды (7.10.2011 - 23:33) Invis1ble написал(а):
Цитата |
Вот уважаю людей которые дают то что просят, а не "дельные советы" |
мда.... нет слов.....
_____________
*пускает слюну, глядя на код* :)