JavaScript -» Formularfeld -» Telefonnummer
Wolfgang Herrmann
Hallo zusammen,
mein Problem ist schnell beschrieben: In einem Formularfeld (Telefonnummer) möchte ich nur die Ziffern 0..9, Leerzeichen, Bindestrich, Schrägstrich und evtl. linke und rechte Klammer zulassen. Abweichende Eintragungen sollen durch ein JavaScript als unzulässig zurückgewiesen werden. Kann man das relativ kurz regeln, oder muss ich wirklich auf alle unzulässigen Zeichen abfragen? Mir fällt im Moment sonst nichts anderes ein :-(
MfG Wolfgang
Hallo zusammen,
mein Problem ist schnell beschrieben: In einem Formularfeld (Telefonnummer) möchte ich nur die Ziffern 0..9, Leerzeichen, Bindestrich, Schrägstrich und evtl. linke und rechte Klammer zulassen. Abweichende Eintragungen sollen durch ein JavaScript als unzulässig zurückgewiesen werden. Kann man das relativ kurz regeln, oder muss ich wirklich auf alle unzulässigen Zeichen abfragen? Mir fällt im Moment sonst nichts anderes ein :-(
MfG Wolfgang
Zwie möglichkeiten gibts da:
1. mit RegularExpression
a = eingabe.match(/0-9/-\s[]/)
if (a) alert ("Nix da!So nun nich...")
Ich hoffe das ich den RegExp so jetzt aus dem Kopf richtig gesetzt habe :-)
siehe SelfHtml : SELFHTML JavaScript Objektreferenz Sting & RegExp
2. konventionell:
funktion check(eingabe)
{
var nur_das ="0123456789-[]/"
for (a = 0 ;a < eingabe.length ; a++) {
if (nur_das.indexOf(eingabe.charAt(a)) > -1 ) return false
}
return true
}
viel Spass
Timo
P.S. Mann kann natürlich noch die länge überprüfen o. mit .replace automatisch alle ungültigen zeichen feuern oder mit indexOf("/") überprüfen ob die Vorwahl nicht zu lang ist. Aber bei internationalen rufnummern würde ich das + noch zulassen .
- konventionell:
funktion check(eingabe)
{
var nur_das ="0123456789-[]/"
for (a = 0 ;a < eingabe.length ; a++) {
if (nur_das.indexOf(eingabe.charAt(a)) > -1 ) return false
Uups : nicht > -1 sondern < 0. :-o
Timo