[JS] RegExp reagiert immer

cll
Ich habe ein Textfeld, das ich auf Sonderzeichen prüfen lasse:

function sonder() {
var pruef = document.getElementById('pruef');
var regexp = /^[A-Z]{3,20}$/i;
if(regexp.test(pruef.value)) { // alles ok
}else{
alert('Dein Name enthaelt Sonderzeichen\nEr soll aussprechbar sein und keine Probleme verursachen\nNur A-Z sind daher erlaubt!\nMeide am Besten auch Leerzeichen\nBitte korrigieren');
document.getElementById('pruef').value=''; }
}

Seltsamerweise wird das alert IMMER angezeigt, auch wenn ich nur ein A eingebe! Seht ihr den Fehler?
Knopfloch
Zitat:
Original von cll
Ich habe ein Textfeld, das ich auf Sonderzeichen prüfen lasse:

function sonder() {
var pruef = document.getElementById('pruef');
var regexp = /^[A-Z]{3,20}$/i;
if(regexp.test(pruef.value)) { // alles ok
}else{
alert('Dein Name enthaelt Sonderzeichen\nEr soll aussprechbar sein und keine Probleme verursachen\nNur A-Z sind daher erlaubt!\nMeide am Besten auch Leerzeichen\nBitte korrigieren');
document.getElementById('pruef').value=''; }
}

Seltsamerweise wird das alert IMMER angezeigt, auch wenn ich nur ein A eingebe! Seht ihr den Fehler?

Laut RegExp sollen doch, wenn ich das richtig sehe, 3-20 Zeichen eingegeben werden; dann wär's doch richtig, dass ein einzelnes A abgelehnt wird? verwirrt
cll
aaah! Ich Depp^^ Danke! Das wird über keypress ausgelöst und daran hab ich gar nciht mehr gedacht!


keypress musste ich noch durch keyup ersetzen, dann gings!