[gelöst] [Javascript] Telefonnummer auf Syntax prüfen

      [gelöst] [Javascript] Telefonnummer auf Syntax prüfen

      Hallo zusammen

      Zur Zeit arbeite ich an einem Formular, worin eine Telefonnummer überprüft werden soll, ob folgende Zeichen enthalten sind:
      0-9, +, -, ', (, ), /, Leerzeichen, [, ]

      Hierfür habe ich aktuell folgenden Quellcode im <head>:

      Quellcode

      1. <script type="text/javascript">
      2. <!--
      3. function pruefen(){
      4. var f = document.anfragebestellung;
      5. var fehler = "";
      6. for (var i = 0; i < f.Telefon.value.length; i++) {
      7. if ((f.Telefon.value.charAt(i) > "9" || f.Telefon.value.charAt(i) < "0") && f.Telefon.value.charAt(i) != "/" && f.Telefon.value.charAt(i) != " " && f.Telefon.value.charAt(i) != "-" && f.Telefon.value.charAt(i) != "+" && f.Telefon.value.charAt(i) != ")" && f.Telefon.value.charAt(i) != "(" && f.Telefon.value.charAt(i) != "]" && f.Telefon.value.charAt(i) != "[" && f.Telefon.value.charAt(i) != "'") {
      8. fehler += "\t- korrekte Telefonnummer\n;
      9. }
      10. }
      11. if (fehler != "") {
      12. var fehlertext = "Die folgenden Felder wurden nicht vollständig oder fehlerhaft ausgefüllt:\n\n";
      13. fehlertext += fehler;
      14. alert(fehlertext + "\nBitte füllen Sie die Informationen noch aus oder korrigieren Sie Ihre Eingaben.\n\nVielen Dank.");
      15. return false;
      16. }
      17. return true;
      18. }
      19. //-->
      20. </script>


      Quellcode im <body>:

      Quellcode

      1. <form action="" name="anfragebestellung" method="post" enctype="application/x-www-form-urlencoded" onsubmit="return pruefen();">
      2. Ihre Telefonnummer:<br>
      3. <input type="text" size="20" name="Telefon"><br>
      4. <input type="submit" value="Anfrage / Bestellung abschicken">
      5. </form>


      Habe ich nun einen Buchstaben oder sonstiges "verbotenes" Zeichen eingegeben, erhalte ich gemäss Anzahl falscher Zeichen auch gleiche Anzahl an Fehlermeldungen.

      Wie beende ich die Suche in der Zeichenkette nach dem ersten falschen Zeichen?

      Lieben Gruss

      Marcel

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „simsus“ ()

    • [gelöst] [Javascript] Telefonnummer auf Syntax prüfen

      Hallo simsus,

      schau Dir mal Diesen Ratgeber an. Dort wirst du bestimmt fündig!

      Re: [Javascript] Telefonnummer auf Syntax prüfen

      Hallo zusammen

      Selbstverständlich habe ich weiterhin gesucht und gesucht, denn es hat mich einfach nicht in Ruhe gelassen. Selbst die halbe Nacht hab ich mir um die Ohren gehauen :D

      Die Lösung lag auf der Hand:
      Kontrolle innerhalb von Schleifen - break und continue

      folgender Quellcode Ausschnitt wurde um ein break erweitert:

      Quellcode

      1. for (var i = 0; i < f.Telefon.value.length; i++) {
      2. if ((f.Telefon.value.charAt(i) > "9" || f.Telefon.value.charAt(i) < "0") && f.Telefon.value.charAt(i) != "/" && f.Telefon.value.charAt(i) != " " && f.Telefon.value.charAt(i) != "-" && f.Telefon.value.charAt(i) != "+" && f.Telefon.value.charAt(i) != ")" && f.Telefon.value.charAt(i) != "(" && f.Telefon.value.charAt(i) != "]" && f.Telefon.value.charAt(i) != "[" && f.Telefon.value.charAt(i) != "'") {
      3. fehler += "\t- korrekte Telefonnummer\n";
      4. break;
      5. }
      6. }


      Die ersten Tests ergaben, dass es korrekt läuft, freue mich aber über Rückmeldungen, wenn dem nicht so ist ;)

      Lieben Gruss

      Marcel

      Re: [gelöst] [Javascript] Telefonnummer auf Syntax prüfen

      Hallo

      Genau das wollte ich mit dem zweiten Quellcode verdeutlichen, dass ich break; genommen habe. Ich wollte es eigentlich farblich markieren, aber das ist ja nicht im Code möglich.

      Mit den regulären Ausdrücken stehe ich noch etwas auf Kriegsfuss, bzw. es ist noch für mich ein Buch mit 7 Siegeln. Liegt wahrscheinlich daran, dass ich mich damit noch nicht allzu sehr beschäftigt habe :D

      Lieben Gruss

      Marcel