Ik ben enorm slecht in regex en hoop dat er hier een regex guru aanwezig is die mij verder kan helpen. Ik heb een regex nodig die Nederlandse telefoonnummers kan valideren. Op internet zijn deze in overvloed te vinden en heb er dan ook een gevonden die dit doet. Er is alleen een probleem. Het is in mijn geval essentieel dat ook 0900 en 0800 nummers worden toegelaten (het gaat om een site waar telefoonnummers van o.a. huisartsenposten ingevoerd moeten kunnen worden. En deze hebben vaak 0900 of, in enkele unieke gevallen, 0800 nummers maar nagenoeg nooit reguliere vaste nummers). Maar er moeten ook reguliere telefoonnummers mee gevalideerd worden omdat ook telefoonnummers van ziekenhuizen en directe telefoonnummers van ambulancemeldkamers ingevoerd moeten worden. Dus een regex voor alleen 0900 en 0800 zou in dit geval niet werken.

Dit is de regex die ik gevonden heb en getest. Deze lijkt de meest voorkomende schrijfwijzen van Nederlandse telefoonnummers toe te staan:
^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9])((\s|\s?-\s?)?[0-9])((\s|\s?-\s?)?[0-9])\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]$

Ik hoop dat iemand mij helpen kan want regex is met recht abrakadabra voor mij ;-)
@Ivo: Precies wat ik ook bedoelde dus!
@Willem: Maar de tien cijferige 06 nummers zijn al een tijdje schaars, dus zou niet gek zijn dat we binnenkort wel deze nummers gaan gebruiken, of elf cijferig of iets totaal anders. Alles is mogelijk.

Het komt er allemaal gewoon op neer dat je validatie simpel moet hebben.

Nog zo'n voorbeeld: Onze nieuwbouwwijk staat nog steeds verkeerd in Google of andere API's die automatisch het adres invullen. Sommige zijn te eigenwijs dat je niet je eigen adres mag invullen/aanpassen. Dan missen ze dus gewoon weer wat klanten.

Reageren