Reguläre Ausdrücke - schwierige Abfrage

  • Hallo Leute,


    wir sind gerade an einem Punkt angelangt, an dem wir Hilfe brauchen!


    Wir wollen per Javascript Formulareingaben direkt überprüfen lassen. E-Mail haben wir fertig, doch der Vorname und Nachname ist schwierig!


    Welchen Ausdruck brauche ich, um zu überprüfen, ob in einem String


    1. nur alle Buchstaben (auch ä, ö, ü, á, à, é, è, ú, ù, í... und so weiter) + Bindestrich oder Leerzeichen vorkommen
    2. ob der Name länger als 1 Zeichen ist


    Wie kann man das umsetzen?

  • ja genau jetzt habe ich aber noch eine bessere Variante glaube ich :)


    JavaScript
    if(/^[A-Za-zÄÖÜäöü\- ]{2,20}$/.test('mein name')){
    alert("name enthält nur buchstaben oder minus oder Leerzeichen und hat mehr als 1 Zeichen aber weniger als 21");
    }



    was jetzt natürlich noch blöd ist der user kann am Anfang und ende noch Leerzeichen machen was denke ich nicht erwünscht ist.
    auch sollte nur ein Leerzeichen hintereinander verwendet werden dürfen



    um withespace am anfang und ende zu entfernen emfehle ich trim()
    und um zu checken ob mehr als 1 withespaces hintereinander kommt könnte man /\s{2}/ verwenden...
    wie man das mit einen einzigen regulären ausdruck schaffen könnte... da bin ich überfordert

  • Das sollte man auch nicht mit einem einzigen machen - lieber mehrere.
    Erstens kann man so Fehler im Code schneller finden, zweitens kann man dem User differenziertere Fehlermeldungen geben.


    lg

  • nacheinander ist echt leichter ;)

  • Das sollte man auch nicht mit einem einzigen machen - lieber mehrere.
    Erstens kann man so Fehler im Code schneller finden, zweitens kann man dem User differenziertere Fehlermeldungen geben.


    lg


    Meine Meinung =)
    Pack doch alle Fehler in var err.
    Wenn var err am Ende nicht leer ist, gibts Du alle Meldungen gleichzeitig aus.


    btw - warum eigtl mit JS ? Man spart Ressourcen, da der Browser die "Vorarbeit" macht,
    aber wenn es um die Sicherheit geht, sollte aufm Server doch noch mal gefiltert werden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!