Consulta verifique se sua latitude ou apenas texto no mapa
-
20-09-2019 - |
Pergunta
Na pesquisa, quero verificar se a consulta é latitude e longitude ou apenas pesquisa de texto com PHP.
$query = '-122.0307642, 37.3316930';
Latitude e longitude também podem ter '-' neles.
o que preg_match
padrão será para isso?
Solução
O regex a seguir corresponderá a dois números (com ou sem um sinal negativo, separados por uma vírgula) do formato a.b
Onde a
e b
são seqüências de dígitos de comprimento mínimo um.
(-?\d+\.\d+)\s*,\s*(-?\d+\.\d+)
Outras dicas
Algo assim:
(-?\d+(?:\.\d+)?)(?:,\s*|\s+)(-?\d+(?:\.\d+)?)
Isso lhe renderá duas partidas, que você pode lançar para flutuar e verificar nos limites Lat/LNG.
Isso também permitirá que os dois números sejam separados pelo espaço. Se você deseja permitir apenas uma vírgula, use:
(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow