validateTelNr.js
 

Valideer telefoonnummer

Deze javascript-library implementeert een javascript-object, om een nederlands telefoonnummer te valideren aan de hand van het nummerplan, opgesteld door het Ministerie van Economische Zaken. Mocht je een Macintosh hebben, dan kun je ook je adresboek verbeteren. De correcte benaming is netnummer, maar in de volksmond wordt netnummer ook vaak gebruikt. Wegens historische redenen is de eigenschap naam (property name) in javascript kengetal.

Demo

Telefoonnummer:
Formaat:

o.kengetal
o.abonneeNr
o.validated
o.type
o.error
o.toString()

Download

Uitleg

Simpele dingen als het valideren van een telefoonnummer zijn vaak moeilijk. Ik heb geprobeerd om een simpel, maar toch ook flexibel javascript object te maken.

Het idee is helder: een string geldt als invoer. Het object splitst het in een netnummer en een abonneenummer (de properties netnummer en abonneeNr). Verder kijkt hij of het een valide telefoonnummer (propertie validated als boolean). Ook is er een type property (zie hieronder). Als toegift is er een functie die het telefoonnummer als een leesbare string teruggeeft (methode toString).

Er wordt dus gecontroleerd op netnummer en op lengte. Per type wordt het volgende gecontroleerd:

  • 'mobiel': Het nummer is aangewezen voor mobiele communicatie en de lengte klopt (10 cijfers).
  • 'regio': Het betreft een regio-gebonden telefoonnummer (het netnummer bestaat) en de lengte klopt (10 cijfers).
  • 'internet': Het nummer is bedoeld als internet-oprit en de lengte klopt (10 cijfers).
  • 'persoonlijke-assistentdiensten': Het nummer is bedoeld voor persoonlijke assistent-diensten (zoals fax-in-email van KPN).
  • 'informatie': Het nummer is bedoeld als gratis danwel betaald informatienummer, en de lengte klopt (8 of 11 cijfers).
  • null: De prefix van het nummer is niet herkend (.validated=null) of het is een illegale prefix (validated=false). In geval van niet herkennen kan het gaan om een valide nummer (probeer 112 maar).

De library is bijgewerkt tot en met het nummerplan van 1 oktober 2002.

Achtergrondinformatie

Het nummerplan telefoon- en ISDN-diensten is wordt beheert door het Ministerie van Economische Zaken. De nummerblokken en nummers zelf worden beheert door de OPTA (kies rechts in het menu nummers en registraties). Bij de OPTA kun je ook opzoeken bij welke telco het nummer is aangesloten.

Todo

  • Internationale optie? Lijst van landennummers, en dan het + teken of 00 zien als prefix? Nummers buiten NL niet valideren en netnummer van 4 cijfers aannemen?
  • Nummerplan nog eens goed doorspitten
  • Naambellen doen. Is dit handig?
  • Object Reference maken

Historie

  • 2-4-2009 (v1.4): Bug met 0900 opgelost (bedankt Wouter van Kuipers)
  • 16-12-2002 (v1.3a): Deze pagina werkt nu ook in Mozilla (de library werkte al).
  • 07-11-2002 (v1.3): Bijgewerkt tot nummerplan 1 oktober 2002. 0842/0847 (bijv. fax-in-email) wordt ondersteund. Er wordt nu ook herkent of een netnummer niet mag (door ministerie gedeclareerd als niet beschikbaar voor toekenning of reservering). Foutmelding geintroduceert. Werking van .validated gewijzigd: true=goed, false=fout, null=weet niet. Gebruik: if(o.validated) alert('goed'); else if(o.validated==false) alert('fout'); else alert('weet niet');. Deze pagina verhuist van \jsPrj naar \dzLib.
  • 01-11-2002 (v1.2): je kunt nu een formaat opgeven bij de toString-method. De String.group method was nog een hele kluif! Ook nog een landen-nummer van nederland toegevoegd, mocht het TelNr object nog internationale aspiraties krijgen. Tevens het internetnummer (06760) als netnummer gezien, ipv (06). De verantwoordelijkheid van het nummerplan is van het Ministerie van Verkeer en Waterstaat overgegaan naar het Ministerie van Economische Zaken. Er is een nieuw nummerplan uit. Nog niet doorgenomen.
  • 28-10-2002 (v1.1): lengte info nummers goed gemaakt, 06-nummers toegevoegd, type-property toegevoegd en de code iets beter opgezet (bedankt Jasper, voor de inspiratie).
  • 31-07-2001 (v1): Initiele versie