hab mal wieder etwas nicht ganz so triviales erwischt wie mir scheint und möchte die Knobler unter euch gerne an meinen Gedanken teilhaben lassen. Ich brauche zum Validieren von Input Felder verschiedene RegEx - Ausdrücke. Etwas leichtes hier einmal zum einstimmen.
Name: (/[^\w\s]/), hiermit erlaube ich im Input Feld name alle Wort und Zahlenkombinationen, ausgedrückt durch das \w sowie Leerzeichen mit \s
Was ich als nächstes brauche ist der Beruf, meine erste Intention ist. Alle Worte ohne Zahlen zuzulassen, aber ganze Worte wie Mitarbeiter, Name meiner Firma, andere nicht schöne Worte auszuschließen. Optimal wäre es eine txt zu parsen, und alle "Badwords" automatisch in den RegEx - Ausdruck zu integieren. Für den ersten Anlauf soll es jedoch genügen, eine Ausdruck zu erlauben der wie oben beschrieben aufgebaut ist. Ich habe übrigens bis jetzt keine Lösung gefunden ganze Worte auszuklammern. Ich freue mich schon jetzt auf eure Antworten. Im Spoiler ist der Anfang versteckt, für diejenen die nur das ergänzen möchten was ich nicht konnte können diesen aufklappen, alle anderen können ja alles erknobeln. =)
Kurz zusammengefasst: Buchstaben groß und klein, Leerzeichen, Bindestrich sind erlaubt. Die Worte Mitarbeiter und Angestellter sind verboten.
Spoiler
Beruf: (/[^a-zA-Z\s\-]/)
Wenn ihr antworten habt, packt die Lösung doch bitte in einen Spoiler, damit jeder für sich knobeln kann =). Hatte ich ganz vergessen, hier kann man RegEx ausdrücke wunderbar testen ohne eine Umgebung zu haben http://rubular.com/
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Tsx« (18. Juli 2011, 15:11)
du könntest versuchen negative lookahead einzusetzen um einzelne wörter auszuschließen.
Quellcode
1
^(?!.*Arbeiter).*$
allerdings stelle ich mir die frage, ob du wirklich badwords in den regulären ausdrücke integrieren willst. das macht deinen ausdruck nur lang und kompliziert und ein simples stripos in einer schleife über alle badwords erfüllt den gleichen zweck.
jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
Es gibt nicht viele Badwords. Es geht eigentlich nur darum das man sich in seinem Profil nicht als Mitarbeiter unserer Firma deklarieren kann. Also werden die Worte Mitarbeiter, Unser Firmenname und evtl noch ein oder 2 Buzzwords raus genommen. Die Idee mit der externen List, ist nur dafür das auch einer der keine Ahnung von Programmieren hat oder von der Materie an sich diese Felder pflegen kann.
Dein Ansatz ist übrigens schon ganz gut, ich versuche ihn grad damit zu Kombinieren, das man nur die von mir angedachten Zeichen verwenden kann. Mit deiner Variante kann man aktuell ja noch alle Zeichen bis auf das Wort Arbeiter verwenden.