Ich könnte mir folgendes Szenario im FF vorstellen:
Der erste Aufruf von test findet das gesamte Wort blä (wegen des gierigen +).
Beim zweiten Aufruf wird wegen des g nicht von vorne, sondern nach dem ersten Treffer (also am Ende von blä) weitergemacht - danach findet sich aber keines der erlaubten Zeichen mehr.
Irgendsowas muss es sein.
Was passiert, wenn Du das g wegläßt?
oder/und das +
Was passiert, wenn Du statt var r = /[a-zöäü]+/gi; ein new RegExp(...) machst?
Es scheint auch so zu funktionieren
function word(val) { var r = /[^a-zöäü]/i; return !r.test(val);}
Kleiner Hinweis: die lang im code-Block ohne ""!
Jaja, wenn sein Helfer Skript nicht hat.
Struppi.