html contact form validatie code werkt nie goed!
Ik raad aan om geen validatie op de invoerwijze te doen van namen. Enkel of het wel of niet in ingevuld.
Eigenlijk kun je er vanuit gaan dat de persoon in kwestie het best weet hoe hij zijn naam (wil) schrijven.
Jij kunt wel vinden dat "alle letters" de reeks "a-z" is, maar in Zweden hebben ze na de Z nog 3 letters in hun alfabet: ä ö en Å.
En dan hebben we het nog niet over de vele letters met accenten. De "mwa, dan schrijf je toch een e ipv een é" voldoet vooral voor mensen die zelf niet zo'n letter in hun naam hebben.
Je krijgt eingelijk niet alle letter-tekens die in een naam kunnen voorkomen in een uitdrukking om te filteren.
Je zou een aantal leestekens kunnen uitsluiten, maar ook dat is tricky: waarom wel een - toelaten maar geen / ?
En sommigen (dhr Musk) lijken er een sport van te maken om zo raar mogelijke namen te kiezen voor hun kinderen. Al verbieden sommige landen wel cijfers. Maar de vraag is of dat wereldwijd zo is.
Enige wat je zou kunnen checken: staat er minstens 1 teken (en dan geen spatie).
--
telefoon.
Op PFZ hadden we vroegen een wiki pagina met validaties.
Uit mijn hoofd geldt voor een telefoonnummer in Nederland: het begint met een 0. Daarna volgt een cijfer ongelijk aan 0 en dan nog 8 cijfers.
Dan zou je daar nog 0900 (betaal)nummers kunnen uitsluiten. Maar die zijn sowieso vaak niet 10-tekens lang.
Maar ook hier liggen valkuilen op de loer: Waarom kan iemand alleen een NL telefoonnummer invoeren? Ik ken zat mensen die over de grens werken (niet vreemd als je vanuit mijn straat zowel Duitsland als België kunt zien liggen).
Tip: probeer een nummer wel genormaliseerd op te slaan.
Een backend waar ik ooit aan werkte had veel telefoonnummers opgeslagen als "0612345678 (moeder)" of "0612345678 / 0451234545" dan wel "volgt nog"
Dat is niet handig als je vervolgens die database ook aan je telefooncentrale koppelt voor uitbellen of voor nummer/klant herkenning. Dat werd vervolgens operatie "telefoonnummers opschonen" Daarhebben we toen de +31... (en +32... en +49....) variant voor gebruikt.
Maar hoe je opslaat is weer onafhankelijk van wat de klant invoert (al dan niet met extra - tekens of ( )
Dat hoeft niet ... ipv +31 kan men ook 0031 gebruiken. Een 06-nummer kan dan zoiets worden als 0031(0)612345678.