Valid Input Latitude dan Longitude

Wednesday, February 04, 2015

Jika dua-dua nilai ada dalam satu variable ($duakordinat).

preg_match('/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?);[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$/', $duakordinat);
Andaikan y=longitude dan x=latitude.
$y=4.924155
$x=102.685943
Nak check valid atau tidak, guna regex.

Regex untuk latitude
/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$/
Regex untuk longitude
/^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$/
Contoh, nak check untuk longitude berdasarkan value dari get.
if(isset($_GET['y']) && preg_match('/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$/', $_GET['y'])){
 echo "y is coordinate
";
} else {
 echo "masukkan value yang betul";
}
Value datang dari sini.
index.php?x=102.685943&y=4.924155
Buat checking seperti ini.

< ? php
$regexx = '/^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$/';
$regexy = '/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$/';

if(isset($_GET['x'],$_GET['y']) && preg_match($regexx, $_GET['x']) && preg_match($regexy, $_GET['y'])){
 echo "Kordinate yang betul br";
 echo "x=" . $_GET['x'] . " dan y=" . $_GET['y'] ."br";
} else {
 echo "masukkan value yang betul";
}
? >

Boleh fahamkan regex di atas dari sini https://regex101.com/r/bV5fA1/1