Страницы

Поиск по вопросам

пятница, 14 июня 2019 г.

регулярки для проверки широты и долготы в градусах с десятичной дробью

Так понимаю, что у широты макс 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)

Комментариев нет:

Отправить комментарий