Hallo,
Beim Ende z.B. meckert er zwar wenn es unter 2 Zeichen sind aber nicht wenn es über 5 Zeichen sind und gegen Sonderzeichen hat er auch nichts obwohl ja nur a-z A-Z und . erlaubt sein sollen.
Dies gilt auch vor dem @ wo Sonderzeichen auch erlaubt sind wieso auch immer. Was mache ich falsch?
Die Grundidee eines Regex ist, eine bestimmte Zeichenfolge innerhalb eines großen Strings zu finden. Ein RegEx /abcde/ wird auch im String 1234abcdefg... gefunden. Um nachzuprüfen, ob der ganze String der Regel folgt, empfiehlt es sich, Anfangs- und Endbedingung zu setzen. Dann aber muss die Regel abschließend von vorne nach hinten stimmen (es fehlt ein Plus). Richtiger ist also:
var regexp = new RegExp("[1]+@[a-zA-Z0-9._-]+*\.[a-zA-Z.]{2,5}$");
viele grüße
ralph
a-zA-Z0-9_.- ↩︎