Invoermasker over een Formulier

Status
Niet open voor verdere reacties.

Initial1

Gebruiker
Lid geworden
24 sep 2002
Berichten
127
Hallo,

Laaste tijd heb ik een formulier gemaakt waar je informatie kan versturen naar mysql database. Alleen ik wil graag dat er een invoermasker op de velden komen zodat gebruikers de juiste informatie invullen.

Ik heb zelf op internet gezocht maar komt met lege handen te staan. Alleen ik weet wel dat ik via functie is_numeric een nummer kan controleren.

Nu de vraag is als iemand de postcode moet invullen hoe ik ze kan beperken tot de eerste 4 een cijfers moet zijn en de laaste 2 letters (1234AB)?

Groetjes,
Initial1
 
PHP:
if(preg_match('/^[a-zA-Z]{4}[0-9]{2}$/',$postcode) == TRUE)
{
echo 'Geldige postcode';
}
else
{
echo 'Geen geldige postcode';
}
Hier is $postcode een variabele waarvan je wil checken of 't een geldige postcode is :)

Succes :thumb:
 
uhm.. ok maar ik begrijp nog niet helemaal hoe die masker werkt... bedoel dit:

('/^[a-zA-Z]{4}[0-9]{2}$/',$postcode)

Dat het controle is voor $postcode snap ik wel maar hoe kan ik zeg maar uitelkaar halen? een eigen masker maken voor b.v. andere velden die ik heb in mijn script.

En hoe kan ik dit toepassen dat hij alleen controleert or een veld alleen letters bevatten (hoeveel maak niet uit) en geen cijfers? want met deze code moet je perse het aantal invullen...


Deze werkt trouwens wel goed hoor thanks alleen ik weet niet waar jij woont maar in Nederland begint de postcodes met cijfers en niet met letters :D jk
 
Laatst bewerkt:
Geplaatst door Initial1
uhm.. ok maar ik begrijp nog niet helemaal hoe die masker werkt... bedoel dit:

('/^[a-zA-Z]{4}[0-9]{2}$/',$postcode)

Dat het controle is voor $postcode snap ik wel maar hoe kan ik zeg maar uitelkaar halen? een eigen masker maken voor b.v. andere velden die ik heb in mijn script.
Voor meerdere velden raad ik reguliere expressies (dat met preg_match()) af. Deze nemen namelijk veel tijd in beslag. Lees op php.net het hoofdstuk string functies ff door :)
En hoe kan ik dit toepassen dat hij alleen controleert or een veld alleen letters bevatten (hoeveel maak niet uit) en geen cijfers? want met deze code moet je perse het aantal invullen...
Deze regexp wil ik nog wel voor je maken, maar wederom: Het is het beste om reguliere expressies zo veel mogelijk te vermijden :)
PHP:
if(preg_match('/^[a-zA-Z]+$/',$string) == TRUE)
{
echo 'De string bevat alleen maar letters';
}
else
{
echo 'De string bevat allerlei tekens';
}
Deze werkt trouwens wel goed hoor thanks alleen ik weet niet waar jij woont maar in Nederland begint de postcodes met cijfers en niet met letters :D jk
Oftewel, dan werkt de code niet goed ... :D
Ik had de letters & cijfers ff omgedraaid, mijn fout :)
Goeie code:
PHP:
if(preg_match('/^[0-9]{4}[a-zA-Z]{2}$/',$postcode) == TRUE)
{
echo 'Geldige postcode';
}
else
{
echo 'Geen geldige postcode';
}
 
na het doorlezen van php.net in hoofdstuk string functions kan ik nog steeds geen goeie functie/code vinden die jij bedoeld. Maar met jouw geschreven code werkt ook perfect. Mag ik ook vragen waarom jij preg_match afraad?
 
preg_match is een vrij trage functie (lees; het blijft onder 1 seconden om te verwerken). In verhouding met bijvoorbeeld ereg en dat soort functies werkt het simpelweg te traag.

Zelf zou ik voor formulieren liever een javascript validator gebruiken (lekker makkelijk) dan een php script (wat ook weer moet laden bij de controle ed. veel meer werk dus).

PHP:
function CheckPostcode($pc) {
     return preg_match('/^[0-9]{4}([ ]*)[a-zA-Z]{2}$/', $pc); 
}
PHP:
if(!eregi("([0-9]{4}[A-Z]{2})",$_POST['postcode'])) { 
     echo "Onjuiste postcode!<BR>"; 
}
dat werkt dus verder prima, ik kan het je afraden voor grote systemen (content management systemen oid) maar voor een prive site is het prima (zo traag is het nou óók weer niet)
 
Laatst bewerkt:
hehe thanks voor uitleg.. :D
het is voor een registratie formulier meer is het niet dus die traagheid heb ik zelf niet gemerkt.

Rede dat ik voor php heb gekozen ipv javascript is dat ik alles op de serverside wilt houden. in tegenstelling tot javascript is het clientside.

Nogmaals thanks jullie 2 :thumb:
 
Geplaatst door acid007
preg_match is een vrij trage functie (lees; het blijft onder 1 seconden om te verwerken). In verhouding met bijvoorbeeld ereg en dat soort functies werkt het simpelweg te traag.
Dat preg_match() traag is beweerde ik ook al in mijn vorige post, maar lees ik dit nou goed ? Beweer je hier nou écht dat ereg functies sneller zijn dan de preg functies ?
Zelf zou ik voor formulieren liever een javascript validator gebruiken (lekker makkelijk) [...]
En lekker onveilig, binnen twee seconden is het te omzeilen.
[...] dan een php script (wat ook weer moet laden bij de controle ed. veel meer werk dus).
Onzin.
 
Ik heb zojuist dat scriptje geprobeerd toe te passen op een inschrijfformulier:

Code:
if(preg_match('/^[a-zA-Z]{4}[0-9]{2}$/',$email) == TRUE){
	echo("correct email");
	}
	else{
		echo("wrong email");
		die();
	}

Maar vreemd genoeg krijg ik altijd "wrong email" als output, ook als ik juiste emails invoer...
Mijn doel is eigenlijk om te kijken of de email wel bestaat.

Ik wil bijvoorbeeld geen emails met (*&&^@( erin accepteren.

Dus ik wil checken of de input alleen uit de A-Z en/of a-z en/of 0-9 en @ bestaat.
Zoiets wil ik ook bij username gaan doen, waarbij username uit A-Z, a-z en 0-9 kan bestaan.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan