Horst: Telefonabfrage

Ich hab nur eine kleine Frage und zwar funktioniert diese Abfrage irgendwie nicht und ich weiß nicht warum?

if(documet.Formular.telefon.value.match(/[0-9/-]/));
 alert("Bitte geben Sie eine gültige Telefonnummer ein. Sie dürfen nur Zahlen von 0-9 und die Sonderzeichen -/ eingeben.")
 document.Formular.telefon.focus();
 return false;
 }

Kann mir jemand dabei helfen.

  1. Hi,

    Ich hab nur eine kleine Frage und zwar funktioniert diese Abfrage irgendwie nicht und ich weiß nicht warum?

    das ist nur gerecht, denn wir wissen nicht, was "funktioniert nicht" bedeuten mag.

    if(documet.Formular.telefon.value.match(/[0-9/-]/));

    Von einer Regular Expression kann man den Wert "]/" nicht subtrahieren.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      if(documet.Formular.telefon.value.match(/[0-9/-]/));
      Von einer Regular Expression kann man den Wert "]/" nicht subtrahieren.

      Ich weiß, Du haßt mich, aber Du irrst.
      Innerhalb der [] beendet das / nicht den Ausdruck.

      javascript:alert("xxx".match(/[ab/x]/))
      in die Adreßzeile eines Browsers eingegeben zeigt es.

      Das Problem von Horst dürfte vielmehr sein, daß der Ausdruck nur ein einzelnes Zeichen an beliebiger Position matcht, nicht den gesamten String.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Hi,

        Ich weiß, Du haßt mich, aber Du irrst.

        keine Bange, ich hasse Dich nur für Gemeinheiten, nicht für meine Irrtümer ;-)

        Innerhalb der [] beendet das / nicht den Ausdruck.

        Dann muss ich mir noch mal die Microsoft-Seiten zu Gemüte führen, die auf Geckos regelmäßig Exceptions im Zusammenhang mit einer RegExp schmeißen. Danke.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. Hello out there!

    if(documet.

    Man muss gar nicht bis zum regulären Ausdruck parsen, um einen Fehler zu finden.

    Neben deinem JavaScript-Problem hast du noch ein konzeptionelles:

    "Bitte geben Sie eine gültige Telefonnummer ein. Sie dürfen nur Zahlen von 0-9 und die Sonderzeichen -/ eingeben."

    Warum nicht auch ' ', '(', ')', '+'? [icke, Der Martin]

    Außerdem meinst du „Ziffern“, nicht „Zahlen“.

    Kann mir jemand dabei helfen.

    War das eine Frage.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hallo,

      if(documet.

      Man muss gar nicht bis zum regulären Ausdruck parsen, um einen Fehler zu finden.

      Neben deinem JavaScript-Problem hast du noch ein konzeptionelles:

      "Bitte geben Sie eine gültige Telefonnummer ein. Sie dürfen nur Zahlen von 0-9 und die Sonderzeichen -/ eingeben."

      Warum nicht auch ' ', '(', ')', '+'?

      Es geht jetzt nicht nur gegen dich, sondern generell:

      1. Das mit dem + sehe ich noch ein, alles andere ist echt nett, aber nicht wirklich notwenig. +xx-xxx-xxxxx-nebenstelle ist echt ausreichend. Ja, ich weiss viele shreiben +xx (0)xxx-xxxx .... .

      Aber darum geht es mir eigentlich auch nicht wirklich.

      1. Was mich jetzt wirklich sauer macht, dass schon drei besch*** Anworten gibt, in der jeder echt nur herumlamentiert.
        Wenn man nicht in der Lage ist die RegExp als Antwort auf die Frage zu schreiben, soll man echt und verflixtnochmal die Klappe halten!

      Grüße
      Thomas

        1. Was mich jetzt wirklich sauer macht, dass schon drei besch*** Anworten gibt, in der jeder echt nur herumlamentiert.

        Kann es sein, dass du etwas überlesen hast?

        Wenn man nicht in der Lage ist die RegExp als Antwort auf die Frage zu schreiben, soll man echt und verflixtnochmal die Klappe halten!

        Der Fehler liegt nicht in der RegExp sondern ist - um deine Wortwahl zu verwenden - ein besch.... Tippfehler, der mit einer kurzen Kontrolle der JS Konsole gefunde wäre.

        Der Rest sind Zusatzinfos für den Frager ob er sie verwendet oder nicht....

        Struppi.

        --
        Javascript ist toll (Perl auch!)
      1. Hi,

        1. Was mich jetzt wirklich sauer macht, dass schon drei besch*** Anworten gibt, in der jeder echt nur herumlamentiert.
          Wenn man nicht in der Lage ist die RegExp als Antwort auf die Frage zu schreiben, soll man echt und verflixtnochmal die Klappe halten!

        Ratschläge, an die sich der Ratschlagende selbst nicht hält [1], werden nicht wirklich ernstgenommen.

        [1] ich seh in Deinem Posting keinen Regex.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo,

          [1] ich seh in Deinem Posting keinen Regex.

          https://forum.selfhtml.org/?t=146255&m=948880

          Grüße
          Thomas

      2. Hello out there!

        1. Das mit dem + sehe ich noch ein, alles andere ist echt nett, aber nicht wirklich notwenig. +xx-xxx-xxxxx-nebenstelle ist echt ausreichend.

        Nein, das Leerzeichen ist zwingend notwendig. Sinvollerweise nicht nur U+0020 space, sondern auch das in dem Fall bessere U+00A0 no-brake space.

        Nur so kann man Telefonnummern den geltenden Regeln entsprechend angeben. (Was lese ich da? Diese gelten auch in Österreich.)

        '/', '(', ')' sind demnach überflüssig, würde ich aber wegen immer noch breiter Verbreitung nicht ausschließen.

        1. Was mich jetzt wirklich sauer macht, dass schon drei besch*** Anworten gibt, in der jeder echt nur herumlamentiert.

        Muss ich dazu was sagen? Nö, ich glaube, Struppis Antwort sollte reichen.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        1. Hallo,

          Nur so kann man Telefonnummern den geltenden Regeln entsprechend angeben. (Was lese ich da? Diese gelten auch in Österreich.)

          Was quatsch ist.
          http://www.rtr.at/web.nsf/deutsch/Telekommunikation_Nummerierung_FAQ_FAQNummerierung_FAQN136?OpenDocument

          Grüße
          Thomas

  3. Hallo,

    Ich hab nur eine kleine Frage und zwar funktioniert diese Abfrage irgendwie nicht und ich weiß nicht warum?

    if(documet.Formular.telefon.value.match(/[0-9/-]/));
    alert("Bitte geben Sie eine gültige Telefonnummer ein. Sie dürfen nur Zahlen von 0-9 und die Sonderzeichen -/ eingeben.")
    document.Formular.telefon.focus();
    return false;
    }

    Vielleicht hilft dir das weiter:

    ([0-9]|\s|-|+|(|)|/)

    Träfe z.B. auf:
      0123-456-789
      +12 (0) 223-45-450 4333
      + 123 456-789/ 3434 - 345
    zu.

    Lade dir http://kodos.sourceforge.net/ herunter, damit kannst du reguläre Ausdrücke ganz gut testen.

    Grüße
    Thomas

    1. PS:

      Vielleicht hilft dir das weiter:

      http://www.galileocomputing.de/openbook/javascript/javascript12.htm#Xxx266389

      Grüße
      Thomas

    2. Hello out there!

      ([0-9]|\s|-|+|(|)|/)

      Was ziemlich kompliziert aussieht, aber wohl dasselbe tut wie ([0-9\s()/+-])

      Wozu eigentlich die Klammern?

      Träfe z.B. auf:
        0123-456-789
        +12 (0) 223-45-450 4333
        + 123 456-789/ 3434 - 345
      zu.

      Und auch z.B. auf "Rendez-vous", ":-)", "4th of July, Asbury Park", ...

      Will man sicherstellen, dass von Anfang ('^') bis Ende ('$') ausschließlich die genannten Zeichen vokommen, sähe der reguläre Ausdruck eher so aus:

      [1]+$

      Damit ist aber nicht einmal sicher, dass überhaupt eine Ziffer vorkommt.

      Aber warum sollten eigentlich keine Buchstaben vorkommen? Diese auszuschließen ist nicht sinnvoll, da dadurch Vanity-Rufnummern unzulässig wären.

      See ya up the road,
      Gunnar

      --
      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)

      1. 0-9\s()/+- ↩︎

      1. hi,

        Aber warum sollten eigentlich keine Buchstaben vorkommen? Diese auszuschließen ist nicht sinnvoll, da dadurch Vanity-Rufnummern unzulässig wären.

        Hach ja, diese herrliche Erfindung ...

        Wir haben bei uns "Helpdesks" für bestimmte Projekte, deren Rufnummern immer nur in Vanity-Schreibweise angegeben werden - blöd nur, dass ein Großteil der Telefone noch gar keine Buchstaben auf den Tasten hat, sondern nur Ziffern. Es lebe die Eitelkeit!

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo,

          blöd nur, dass ein Großteil der Telefone noch gar keine Buchstaben auf den Tasten hat, sondern nur Ziffern. Es lebe die Eitelkeit!

          und nun stell dir bloß ältere Leute vor, die seit über dreißig Jahren ihr klassisches graues Post-Telefon mit mechanischer Wählscheibe haben! Die gibt's nämlich tatsächlich noch! (sowohl die Leute als auch die Telefone)

          Ciao,
           Martin

          --
          Du kannst dem Leben nicht mehr Tage geben.
          Aber dem Tag mehr Leben.
          1. Hello out there!

            blöd nur, dass ein Großteil der Telefone noch gar keine Buchstaben auf den Tasten hat, sondern nur Ziffern. Es lebe die Eitelkeit!

            und nun stell dir bloß ältere Leute vor, die seit über dreißig Jahren ihr klassisches graues Post-Telefon mit mechanischer Wählscheibe haben! Die gibt's nämlich tatsächlich noch! (sowohl die Leute als auch die Telefone)

            Du meinst so eins? http://www.rotarydialphones.com/500newbig.bak >;-)

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
            1. Hallo Gunnar,

              Du meinst so eins? http://www.rotarydialphones.com/500newbig.bak >;-)

              nee, das sieht mir noch'n Tick älter aus. Interessant, dass es sogar schon mit Buchstaben markiert ist! Ich meinte aber eher dieses Modell

              das auch meine Eltern bis Mitte der 90er Jahre noch benutzt haben.

              Ciao,
               Martin

              --
              Ich bin 30. Ich demensiere apokalyptisch.
                (Orlando)
              1. echo $begrüßung;

                Du meinst so eins? http://www.rotarydialphones.com/500newbig.bak >;-)
                nee, das sieht mir noch'n Tick älter aus. Interessant, dass es sogar schon mit Buchstaben markiert ist! Ich meinte aber eher dieses Modell

                Die Buchstaben auf den Telefonen sind überm großen Teich schon länger (immer?) in Mode, und da kommt das Exemplar auch her. Es also mit hiesiger Technik zu vergleichen gilt nicht.

                Auf dieser Seite amerikanischer Telefone haben selbst die ältesten Telefone, bei denen der Nummernschalter (Wählscheibe) erkennbar ist, Buchstaben neben den Ziffern: http://www.phonecoinc.com/

                echo "$verabschiedung $name";

      2. habe d'ehre Gunnar

        Aber warum sollten eigentlich keine Buchstaben vorkommen? Diese auszuschließen ist nicht sinnvoll, da dadurch Vanity-Rufnummern unzulässig wären.

        Hmhh, es handelt sich wohl um die Prüfung eines Formularfeldes. Ich frage mich jetzt allerdings, ob der *normale* Internetuser solche Vanity-Rufnummern besitzt. ;-)

        Um einem Einwand "ja aber wenn einer eine hat wird er ausgesperrt" vorzubeugen: Dann soll er seine Nummer mit Zahlen angeben.

        man liest sich
        Wilhelm

        1. Hello out there!

          Um einem Einwand "ja aber wenn einer eine hat wird er ausgesperrt" vorzubeugen: Dann soll er seine Nummer mit Zahlen angeben.

          Und wenn er sich seine Telefonnummer gar nicht in Za^W Ziffern gemerkt hat? Worum sollte er auch, er hat ja seine Vanity-Rufnummer?

          See ya up the road,
          Gunnar

          --
          „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
          1. habe d'ehre Gunnar

            Um einem Einwand "ja aber wenn einer eine hat wird er ausgesperrt" vorzubeugen: Dann soll er seine Nummer mit Zahlen angeben.

            Und wenn er sich seine Telefonnummer gar nicht in Za^W Ziffern gemerkt hat? Worum sollte er auch, er hat ja seine Vanity-Rufnummer?

            Sorry, dann zweifle ich an seinem Intellekt.

            man liest sich
            Wilhelm

            1. Hello out there!

              Und wenn er sich seine Telefonnummer gar nicht in Za^W Ziffern gemerkt hat? Worum sollte er auch, er hat ja seine Vanity-Rufnummer?

              Sorry, dann zweifle ich an seinem Intellekt.

              Mir geht’s nicht darum, ob er (oder sie, nennen wir sie Alice) zu blöd ist, sich die Nummer zu merken, sondern ob sie zu faul dazu ist. Das ist ja gerade der Sinn von Vanity-„Nummern“, dass man sich keine komplizierte Ziffernfolge merken muss.

              Nun bastelt Bob ein Formular und bittet Alice: Trag deine Telefonnummer ein. Alice, stolz auf ihre Vanity-„Nummer“, tut das – mit Buchstaben, denn sie will ja gerade, dass auch andere in den Genuss ihrer einfach zu merkenden Vanity-„Nummer“ kommen. Und dass muss sie feststellen, dass Bob sein Formular so blöd geplant hat, dass das nicht möglich ist. Ärgerlich.

              Alice gibt also ihre Rufnummern in Ziffern ein. (Ihr Intellekt reicht dafür aus. ;-))

              Nehmen wir an, das Formular dient einer Mitgliederliste einer Was-auch-immer-Gemeinschaft. Carol sucht nun in der Liste Alice’ Nummer und denkt sich: Sauschwer zu merken. Hätte Bob nicht so ein blödes Forumular vorgesehen, hätte Alice’ Vanity-„Nummer“ in der Liste gestanden, die Carol sich einfach hätte merken können.

              See ya up the road,
              Gunnar

              PS: Ich hab mal ein Formular gebastelt, das u.a. in verschieden Formaten eingegebene Telefonnumern in FQTN umwandelt.

              --
              „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
              1. habe d'ehre Gunnar

                Mir geht’s nicht darum, ob er (oder sie, nennen wir sie Alice) zu blöd ist, sich die Nummer zu merken, sondern ob sie zu faul dazu ist. Das ist ja gerade der Sinn von Vanity-„Nummern“, dass man sich keine komplizierte Ziffernfolge merken muss.

                Dann wollen wir mal hoffen, dass die Eltern von Alice nicht um die 80 Jahre sind. Ich stelle mir gerade vor, wieviele Anrufe ich noch von meinen Eltern bekäme, wenn sie nur 0800-SOHNNR2 kennen wuerden.

                Lassen wir es gut sein. ;-)

                man liest sich
                Wilhelm

                1. Ich stelle mir gerade vor, wieviele Anrufe ich noch von meinen Eltern bekäme, wenn sie nur 0800-SOHNNR2 kennen wuerden.

                  Mehr auf jeden Fall, ist ja schließlich eine kostenlose Nummer *fg*

                  Siechfred

                  --
                  Ich bin strenggenommen auch nur interessierter Laie. (molily)
                  1. habe d'ehre Siechfred

                    Ich stelle mir gerade vor, wieviele Anrufe ich noch von meinen Eltern bekäme, wenn sie nur 0800-SOHNNR2 kennen wuerden.

                    Mehr auf jeden Fall, ist ja schließlich eine kostenlose Nummer *fg*

                    Wieso? Die würden vielleicht irgendwo landen, aber mit Sicherheit nicht bei mir. Mal ganz davon abgesehen, dass ich Ihnen dann erst ein neues Telefon kaufen und sie in die Tiefen des Doppel- und Dreifachtipp einweisen müsste. Obwohl, das könnte ich auch 0800-SOHNNR1 aufhalsen, der wohnt Luftlinie 2km weg. :-) Wenn ich sowas denn wollen würde.

                    man liest sich
                    Wilhelm

                    1. hi,

                      Mal ganz davon abgesehen, dass ich Ihnen dann erst ein neues Telefon kaufen und sie in die Tiefen des Doppel- und Dreifachtipp einweisen müsste.

                      Beim Wählen einer Vanity-Rufnummer tippst du die Tasten nicht entsprechend oft der "Position" des Buchstabens auf der Taste, sondern für jeden Buchstaben ein mal eine Taste - die, auf der er steht.

                      gruß,
                      wahsaga

                      --
                      /voodoo.css:
                      #GeorgeWBush { position:absolute; bottom:-6ft; }
                      1. habe d'ehre wahsaga

                        Beim Wählen einer Vanity-Rufnummer tippst du die Tasten nicht entsprechend oft der "Position" des Buchstabens auf der Taste, sondern für jeden Buchstaben ein mal eine Taste - die, auf der er steht.

                        Daran kann man erkennen, dass wohl auch ich damit überfordert bin. :-)

                        man liest sich
                        Wilhelm

                    2. Hello out there!

                      Ich stelle mir gerade vor, wieviele Anrufe ich noch von meinen Eltern bekäme, wenn sie nur 0800-SOHNNR2 kennen wuerden.

                      OK, sicher nicht die beste Idee, _hierzulande_ ausschließlich die Vanity-Nummer anzugeben. Besser beide: 0800-SOHNNR2 und 0800 7646672.

                      […] sie in die Tiefen des Doppel- und Dreifachtipp einweisen müsste.

                      ?? Bei Vanity-Nummern wird jeder „Buchstabe“ nur einmal getippt (im Gegensatz zu SMS ohne T9). 'S' steht für '7', nicht für '7777'.

                      See ya up the road,
                      Gunnar

                      --
                      „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
          2. hi,

            Um einem Einwand "ja aber wenn einer eine hat wird er ausgesperrt" vorzubeugen: Dann soll er seine Nummer mit Zahlen angeben.

            Und wenn er sich seine Telefonnummer gar nicht in Za^W Ziffern gemerkt hat?

            Dann soll er halt seine Telefontastatur zur "Übersetzung" heranziehen. (Dass _er_ wenigstens eine mit zusätzlichen Buchstaben auf den Zifferntasten hat, davon darf ich ja wohl ausgehen.)

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
  4. Leider haben mir eure ganzen Antworten nicht wirklich geholfen, da ich immer noch nicht weiß, was ich falsch gemacht habe.

    Die Abfrage soll ein formularfeld übeprüfen.

    1. habe d'ehre Horst

      Leider haben mir eure ganzen Antworten nicht wirklich geholfen, da ich immer noch nicht weiß, was ich falsch gemacht habe.

      Was genau gefällt Dir in https://forum.selfhtml.org/?t=146255&m=948880 nicht?

      man liest sich
      Wilhelm

      1. » Was genau gefällt Dir in https://forum.selfhtml.org/?t=146255&m=948880 nicht?

        man liest sich
        Wilhelm

        if(documet.Formular.Telefon.value.match([0-9]|\s|-|+|(|)|/)){
        alert("Bitte geben Sie eine gültige Telefonnummer ein. Sie dürfen nur Zahlen von 0-9 und die Sonderzeichen -/ eingeben.");
        document.Formular.Telefon.focus();
        return false;
        }

        Das diese Abfrage einfach nicht das macht ,was sie eigentlich soll.
        Sie prüft eben nicht.

        1. Hello out there!

          if(documet.Formular.Telefon.value.match([0-9]|\s|-|+|(|)|/)){
          Das diese Abfrage einfach nicht das macht ,was sie eigentlich soll.

          Gehe zurück zur Badstraße.

          Liest du eigentlich die dir gegebenen Antworten? Anscheinend nicht, also begib dich in das Gefängnis. Gehe nicht über Los ...

          See ya up the road,
          Gunnar

          --
          „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        2. Hallo,

          if(documet.Formular.Telefon.value.match([0-9]|\s|-|+|(|)|/)){
          alert("Bitte geben Sie eine gültige Telefonnummer ein. Sie dürfen nur Zahlen von 0-9 und die Sonderzeichen -/ eingeben.");
          document.Formular.Telefon.focus();
          return false;
          }

          Du hättest das schon richtig notieren müssen (/[0-9] .... /);

          Das diese Abfrage einfach nicht das macht ,was sie eigentlich soll.
          Sie prüft eben nicht.

          Aber wenn du Gunnars Posting beobachtet hättest, hättest du daraus sowas machen können ({1,15} = 1 bis max 15 stellen kann die Nummer haben)
          ----------
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

          <html>
          <head>
           <title>Untitled</title>
           <script type="text/javascript">
            function checkTel() {
             var regex = /[1]{1,15}$/;
             var tNummer = document.telform.tel.value;
             if(!regex.test(tNummer)) {
               alert("Bitte geben Sie eine gültige Telefonnummer ein. Sie dürfen nur Zahlen von 0-9 und die Sonderzeichen -/ eingeben.")
              document.telform.tel.focus();
              return false;
              } else {
              alert("passt");
              document.telform.tel.focus();
              return false;
             }
            }
           </script>
          </head>

          <body>
          <form name="telform">
          <input type="text" name="tel" value="">
          <input type="Button" value="check" onclick="checkTel();">
          </form>

          </body>
          </html>

          -----------------

          Allerdings sind noch immer solche angaben wie "23123+-() ()" möglich.

          Grüße
          Thomas


          1. 0-9\s()/+- ↩︎