Overleg:Invoer validatie
Dit betreft de wijziging van Ivo P op 8 aug 2008 13:18: Ivo, ik weet niet waarom je het precies veranderd hebt, maar mijn tests slagen niet meer met de nieuwe code. Ik heb het even terug aangepast: niet omdat ik het beter probeer te weten, maar omdat de code gewoonweg niet goed werkt.
ivo zegt:
mijn test werkte juist weer niet met jouw code. Met name klopt jouw berekening niet, omdat het laatste cijfer juist afgetrokken moet worden, en jij optelt...
Ik heb getest met mijn eigen sofinummer, en een aantal uit een pensioen applicatie die ik hier heb. Alle sofinummers geven false terug met de huidige functie.
http://nl.wikipedia.org/wiki/Burgerservicenummer
berry__ zegt:
Ivo, je hebt helemaal gelijk! Ik had inderdaad 1 i.p.v. -1, wat voor sofinummers wel verplicht is. Het blijkt dat mijn tests bankrekeningnummers waren, waar deze uitzondering niet voor geldt :)
Ivo zegt:
Berry, jouw bankrekeningcheck zou mogelijk ook moeten verbieden dat een rekeningnummer met 0 begint?
E-mail validatie
Zelf heb ik goede ervaring met deze.
http://code.iamcal.com/php/rfc822/
Plus een kleine toevoeging van mij zelf ;) (plaats aan het begin)
He [code] werkt niet, of ben nu dom aan het doen :-)
if (strpos($psEmail, '@') === false)
{
return false;
}
Zo wel :)if (strpos($psEmail, '@') === false) { return false; }
Is het een geldig web URL?
Over de update: Wie weet hoe je deze tekens moet valideren? Want ik neem aan dat dit Unicode is, maar mijn Regex kennis sterkt nog niet ver genoeg daarvoor :)
- --Rctweber 6 mei 2010 10:20 (CEST) Ik heb verder onderzoek gedaan, en ik kan je zeggen dat een 100% controle bijna onbegonnen werk is.
- Zend Framework bied een controle die helemaal volledig is maar voor bijvoorbeeld .cn domein krijg een je een regex die je echt apart moet uitvoeren! De controle die nu wordt toegepast is dus voldoende, als je echt meer nodig hebt kan je de Validatie Module van Zend Framework gebruiken.
--Rctweber 16 mei 2010 11:36 (CEST) En weer een fout, een hostname mag ook zonder punten (als localhost, live.local) maar word in deze regex niet geaccepteerd.





