2017-12-21 3 views
1

Ich muss überprüfen, ob Benutzer Vorname und Nachname im Formularfeld eingegeben, und das ist einfach. Problem ist, dass ich den Benutzer nur den Vornamen geben lassen möchte und mein Ausdruck das nicht erlaubt. Wie sollte ich meinen Ausdruck wiederherstellen, um das zu tun?Regulärer Ausdruck zu überprüfen, gibt es nur den Vornamen

var nameReg = new RegExp("^[A-Z-zóąśłżźćńÓĄŚŁŻŹĆŃ ][a-z-zóąśłżźćńÓĄŚŁŻŹĆŃ ]{2,20} [A-Z-zóąśłżźćńÓĄŚŁŻŹĆŃ][a-z-zóąśłżźćńÓĄŚŁŻŹĆŃ]{1,35}$"); 

if(!nameReg.test(cname)) { 
    alert('Letters only in name field'); 
    return false; 
} 

Irgendwelche Ideen?

+0

dies versucht,/^ [a-zA-Z] + $/ – Yakalent

+2

enthält Weil Dein Ausdruck erlaubt Räume an verschiedenen Orten, wie kannst du zwischen einem Vor- und Nachnamen unterscheiden? Viel besser und einfacher wäre es, zwei Formularfelder zu verwenden. –

+0

Dieser Ausdruck funktioniert nur für den Vornamen, Benutzer konnte nicht Nachname und keine polnischen Zeichen eingeben, Ich weiß, dass zwei Felder viel einfacher sein werden, aber ich bevorzuge, das mit einem Feld zu tun. Mein Ausdruck erlaubt Leerzeichen erst nach dem ersten eingegebenen Wort. – rozny

Antwort

0

Ich denke, das ist ziemlich geradlinig

^[A-Za-zóąśłżźćńÓĄŚŁŻŹĆŃ]{2,20}[\s]*$ 
  • dies passen nur eine Zeichenfolge beginnt mit beliebigen Buchstaben (und die Zeichen)
  • und endet mit einem dieser Buchstaben oder eine beliebige Anzahl von weißen Räume
  • Aber nicht übereinstimmen, wenn es keine keine Leerzeichen nach dem

Für expla Begegnungen Nation sieht diese regex101 Schnipsel

+0

^[A-Za-zóąśłżźćńÓĄŚŁŻŹĆŃ] {2,20} [\ s] * $ Mit zusätzlichen Platz funktioniert perfekt. Vielen Dank! – rozny

+0

hört sich gut an. herzlich willkommen ! –

1

Versuchen Sie, diese Regex

/^[a-z ,.'-]+$/i 

weil Vorname Namen wie diese

Ashley D'souza 
Martin Luther King, Jr. 
Hector Sausage-Hausen 
+0

In meinem Land ist es fast unmöglich, diese Zeichen in Namen zu enthalten;) Aber danke für Beratung :) – rozny

+0

Ihre Begrüßung :) –

Verwandte Themen