Hét vraag- en antwoordplatform van Nederland

Hoe kan ik een bepaalde input controleren met PHP?

Ik wil bijvoorbeeld controleren of een GPS tag als volgt is ingevoerd:

15.2938, 34.2953

Het aantal cijfers voor en na de comma maakt niet uit.
Echter, het eerste cijfer voor de comma MOET een punt bevatten. Dit geldt ook voor het tweede getal.

Verder MOET die comma aanwezig zijn, alsmede de spatie die er achter volgt.

Wie helpt mij een eind op weg?

Verwijderde gebruiker
13 jaar geleden
Geef jouw antwoord
0 / 2500
Geef Antwoord

Antwoorden (2)

$gpstag = '15.2938, 34.2953'

if (preg_match('/(-?[\d]{1,2}\.[\d]{1,6},{1}(-?[\d]{1,2}\.[\d]{1,6})/', $gpstag)) {
# match
} else {
# geen match
}


-? = optioneel minteken

[\d]{1,2} = 1 tot 2 cijfers

\. = een punt

[\d]{1,6} = 1 tot 6 cijfers

,{1} = 1 komma

Daarna word het eerste gedeelte nog eens herhaald

Toegevoegd na 44 minuten:
Zie ook:

http://php.net/manual/en/function.preg-match.php

en

http://www.addedbytes.com/download/regular-expressions-cheat-sheet-v1/png/
rose
13 jaar geleden
Bovenstaande antwoord is heel goed. Dat is de beste oplossing maar misschien een beetje moeilijk de doorgronden. Je kunt ook de functie strpos(string, needle) gebruiken.

$string = '11.111, 22.222';
$eerstePunt = (int)strpos('.', $string);
$komma = (int)strpos(',', $string);
$tweedePunt = (int)strpos('.', $string, $komma);

If ($eerstePunt > 0 && $komma > $eerstePunt && $tweedePunt > $komma){
#goed;
}else{
#fout;
}
Verwijderde gebruiker
13 jaar geleden
Deel jouw antwoord
0 / 2500
Geef Antwoord
logo van Kompas Publishing

GoeieVraag.nl is onderdeel van Kompas Publishing