JavaScript nur Zahlen erlauben

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • JavaScript nur Zahlen erlauben

    Hallo zusammen,

    ich brauche eure Hilfe:

    Source Code

    1. <script language="javascript">
    2. function validateEmail(str) {
    3. var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    4. return filter.test(str);
    5. }
    6. function check() {
    7. if (document.bewerbung.vorname.value == "") alert("Fehler: Es fehlt der Vorname!");
    8. else if (document.bewerbung.nachname.value == "") alert("Fehler: Es fehlt der Nachname!");
    9. else if (!validateEmail(document.bewerbung.email.value)) alert("Fehler: Es fehlt die E-Mail-Adresse bzw. die E-Mail-Adresse ist ungültig!");
    10. else if (document.bewerbung.zahlen.value == "") alert("Fehler: Es fehlt die Matrikelnummer!");
    11. else {document.bewerbung.submit();}
    12. }
    13. </script>
    Display All

    Source Code

    1. <input type="text" name="zahlen" maxlength="7" class="textField" />


    Ich möchte ebenso wie bei Email eine Überprüfung per Javascript machen, dass im Inputfeld "Zahlen" siehe 2. Code oben eine 6 oder 7 stellige Zahl eingegeben werden muss, ansonsten soll das Alert Fenster aufgehen. Hierzu sollte ebenso eine Funktion für aufgerufen werden, die wie bei der Emailadresse überprüft, ob eine gültige Zeichenkomibination (in dem Fall nur die Zahlen von 0-9 mit 6 oder 7 Stellen) eingegeben wurde.

    Leider komme ich überhaupt nicht drauf wie ich das bewerkstelligen soll.

    Kann mir vielleicht jemand weiterhelfen?

    Danke!

    VG sinus
  • 2 Möglichkeiten:
    1. Du überprüfst bei jedem Tastendruck (keydown oder keypress), ob eine Zahl enthalten ist, und wehrst es ggf. über event.preventDefault() ab.
    2. Du überprüfst beim Abschicken, ob nur zahlen enthalten sind, wandelst es ggf. um oder verhinderst das Abschicken und zeigst ne Fehlermeldung.

    Überprüfen per if() oder per ASCII-Code ;).
  • hm ich hab jetzt mal versucht das ganze im Stil zu machen, wie bei der Mailüberprüfung:

    function validateEmail(str) {
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    return filter.test(str);
    }

    allerdings bin ich überhaupt nicht weitergekommen. Hat mir vielleicht jemadn einen Tipp?

    Danke!