Если есть координаты 47.00416646,37.35316219 как проверить их правильность, я читал мануал, но чё-то не понимаю, почему так всё грустно, подскажите? Код (PHP): $coordinats='47.00416646,37.35316219'; if(preg_match("/\d{2}.\d{8},\d{2}.\d{8}/",$coordinats)) { $coordinats_err.='<p>Координаты указаны неверно</p>'; } else{ $coordinats_err.='<p>Координаты указаны хорошо</p>'; } PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Я бы добавил: "/^\d{2}\.\d{8},\d{2}\.\d{8}$/" Чтобы было полное соответствие и корректное восприятие точек, а вообще тут есть ссылка на правильный мануальчик по регулярным выражениям http://php.ru/manual/regexp.reference.delimiters.html С правой стороны там содержание в виде меню.
Не сработало что? 1. Парсер выдал ошибку 2. Кушает любой набор символов 3. Не кушает правильную комбинацию Единственное, что еще можно добавить - (str)$coordinats (Но это вряд ли)
Ну как у вас все будет верно, если у вас в истине стоит якобы не правильно, а в лжи - стоит якобы правильно. Значит, надо, поставить " ! " - перед preg_match. Либо поменять ошибки местами. Код (PHP): $coordinats='47.00416646,37.35316219'; print_r(preg_match("/\d{2}.\d{8},\d{2}.\d{8}/",$coordinats)); //true $coordinats='47.00416646 - 37.35316219'; print_r(preg_match("/\d{2}.\d{8},\d{2}.\d{8}/",$coordinats)); //false Значит, Ваша регулярка, составлена верно.
Не совсем Код (PHP): $coordinats='47 00416646,37 35316219'; print_r(preg_match("/\d{2}.\d{8},\d{2}.\d{8}/",$coordinats)); //true $coordinats='some text 47200416646,37/35316219 some text'; print_r(preg_match("/\d{2}.\d{8},\d{2}.\d{8}/",$coordinats)); //true