Hallo,

ich benötige ein Web-Formular, in dem man seine Telefonnummer für einen Rückruf eingeben kann. Habe mich ein wenig umgeschaut und bin auf jQuery Validate gestoßen. Das Plugin erweitert jQuery um die Möglichkeit gängiger Validierungen, damit man da nicht jedes mal das Rad neu erfinden muss. Für die Validierung von Telefonnummern wird leider nur eine Methode für USA/UK mitgeliefert:

jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");

Laut Dokumentation haben die ein ganz anderes Format wie wir Deutsche. Die Nummern beginnen nicht mit 0, die Vorwahl hat ein anderes Format (z.B. "1(212)") und sie trennen die Zahlen meist mit Bindestrichen, oder Leerstellen ("212 999", "212-999"). Auch wenn es im Falle der Leerstellen noch einigermaßen passen würde, glaube ich nicht, dass man das Format 1:1 übertragen kann. Auch die Prüfung auf 9 Stellen macht mich etwas stutzig, sicher gibt es kürzere Telefonnummern bei uns. Was ist denn der Best Practice Standard, wenn es um die Validierung deutscher Telefonnummern geht? Alle gültigen sollen zugelassen werden, sowohl vom Festnetz als auch Handy.