1 2 3 4 5 6 7 8 9 10 | public function validateTel(&$inputValidateTel){ $this->stripSingle($inputValidateTel); if (preg_match("/[0-9]/",$inputValidateTel)){ return true; } return false; } ?> |
1 2 3 | (preg_match("/^[0-9]/",$inputValidateTel)) ?> |
Of eventueel ctype_digit?quote:Op maandag 4 januari 2010 08:51 schreef Tijn het volgende:
Waarom gebruik je niet gewoon is_numeric()?
1 2 3 4 5 6 7 | public function validateTel(&$inputValidateTel){ $this->stripSingle($inputValidateTel); ctype_digit($inputValidateTel); return; } ?> |
quote:
1 2 3 4 5 6 7 8 9 10 | public function stripSingle(&$inputStripSingle){ if($inputStripSingle !== ""){ $inputStripSingle = trim($inputStripSingle); $inputStripSingle = stripslashes($inputStripSingle); $inputStripSingle = htmlentities($inputStripSingle, ENT_QUOTES); } return; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /* * Telephone number validate function * @param string with text * @return bool * @return string with validated & stripped digits */ public function validateTel(&$inputValidateTel) { //Strip $this->stripSingle($inputValidateTel); //Strip everything but digits preg_replace('/[^0-9]/', '',$inputValidateTel); //Check if string contains only digits, if not return false if(ctype_digit($inputValidateTel)) { return true; } return false; } ?> |
quote:Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
Alleen cijfers voor een telefoonnummer is niet handig. Het kan ook gebeuren dat iemand een internationaal telefoonnummer wil invoeren, dan heb je in ieder geval een + nodig als eerste teken. Dan maak je het met 2 velden (netnummer en abonneenummer) niet handiger.quote:Op maandag 4 januari 2010 12:40 schreef hamkaastosti het volgende:
dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
[..]
Dit moet een validation class worden die voor meerdere omgevingen te gebruiken is. Dwz dat telefoon nummers erg kunnen verschillen omdat de programmatuur voor diverse landen gebruikt kan worden.quote:Op maandag 4 januari 2010 12:40 schreef hamkaastosti het volgende:
dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
[..]
Waarom heb je dan een plus nodig?quote:Op maandag 4 januari 2010 13:04 schreef Light het volgende:
[..]
Alleen cijfers voor een telefoonnummer is niet handig. Het kan ook gebeuren dat iemand een internationaal telefoonnummer wil invoeren, dan heb je in ieder geval een + nodig als eerste teken. Dan maak je het met 2 velden (netnummer en abonneenummer) niet handiger.
Jij misschien, maar je gebruikers zullen het op alle mogelijke manieren proberen...quote:Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:
[..]
Dit moet een validation class worden die voor meerdere omgevingen te gebruiken is. Dwz dat telefoon nummers erg kunnen verschillen omdat de programmatuur voor diverse landen gebruikt kan worden.
[..]
Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Ik denk dat meer mensen +31 invoeren dan 0031.quote:Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:
[..]
Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Maar je weet niet waar iemand vandaan gaat bellen, en 00 is niet overal de code voor internationaal bellen. De + bij een telefoonnummer wordt wel algemeen herkend als "bel internationaal", waarbij de beller dan zelf kan uitzoeken wat de goede code is voor het land waar hij zich bevindt. Of dat 00, 011, 09, 9, 990 of nog iets anders is, is niet jouw probleem.quote:Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:
Waarom heb je dan een plus nodig?
Je schrijft toch gewoon 0031384202277 en niet +31384202277
Ik heb het nooit gebruikt . Maar ja, wie ben ik?quote:Op maandag 4 januari 2010 13:24 schreef Tijn het volgende:
[..]
Ik denk dat meer mensen +31 invoeren dan 0031.
Ik kan dus net zo goed die + in mijn database zetten.quote:Op maandag 4 januari 2010 13:27 schreef Light het volgende:
[..]
Maar je weet niet waar iemand vandaan gaat bellen, en 00 is niet overal de code voor internationaal bellen. De + bij een telefoonnummer wordt wel algemeen herkend als "bel internationaal", waarbij de beller dan zelf kan uitzoeken wat de goede code is voor het land waar hij zich bevindt. Of dat 00, 011, 09, 9, 990 of nog iets anders is, is niet jouw probleem.
1 |
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /* * Telephone number validate function * @param string with text * @return bool * @return string with validated & stripped digits */ public function validateTel(&$inputValidateTel) { //Strip $this->stripSingle($inputValidateTel); //Strip everything but digits, + and - $inputValidateTel = preg_replace('/[^0-9\+\-]/', '',$inputValidateTel); //Check if string contains only digits, + and -, if not return false return true; } ?> |
Kloptquote:Op maandag 4 januari 2010 15:15 schreef Tijn het volgende:
Ik zou de naam van de functie veranderen in "sanitize" in plaats van "validate". Als je alleen zou valideren, zou je alleen een true / false antwoord verwachten, maar in dit geval pas je de string ook echt aan.
quote:Op maandag 4 januari 2010 17:27 schreef Tegan het volgende:
Newb-vraag. Ik heb een array en een variabele, hoe kan ik checken of die variabele in de array voorkomt?
Bv.
$array = array(1, 3, 7);
$var = 1;
1 2 3 4 5 | if(in_array($var, $array)) { /* doe iets... */ } ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |