Так понимаю, что у широты макс 8 символов, 6 из которых идут после точки и знак "-",
а у долготы макс 9 символов, 6 идут после точки и знак "-".
preg_match('/^\d{2}.\d{6}$/D', $_GET['latitude'])
preg_match('/^\d{3}.\d{6}$/D', $_GET['longitude'])
// 57.904683, -122.210420
Если верно, то как правильно указать необязательный "минус" в preg_match?
Ответ
Необязательный минус указывается в регулярном выражении с помощью квантификатора ?
^-?\d{2}\.\d{6}$
^ - начало строки
-? - 1 или 0 минусов (квантификатор ? делает подшаблон необязательным)
\d{2} - 2 цифры
\. - точка (этот знак нужно экранировать, т.к. это спецсимвол, отлавливающий любой символ кроме знаков перевода строки)
\d{6} - 6 цифр
$ - конец строки (или \z, чтобы не использовать /D)
Комментариев нет:
Отправить комментарий