Antje Hofmann: Array-Variablen in regulaeren ausdruecken!

Beitrag lesen

Hallo Gabi

ich habe ein ganz kleines Problem:
ich moechte in einem regulaeren Ausdruck
den Wert einer Array-Variable angeben
z.B. so:

Sonderzeichen = new Array ("@","!","ö");

for(i = 0; i < Sonderzeichen.length; i++)
if Text.search(/Sonderzeichen[i])/) != -1)
      alert("Bitte keine Sonderzeichen verwenden");

hier hast du drei Möglichkeiten, keine davon klappt mit Opera der Rest NN4,NN6 und IE gehen.

//Dein String:

ab="test@jsödd";

//Lösung mit Arrays:

Sonderzeichen = new Array ("@","!","ö");
Sonderzeichen="["+Sonderzeichen.join("")+"]";
Sonderzeichen=new RegExp(Sonderzeichen, "g")

if (ab!=null) Zeichen=ab.match(Sonderzeichen)
if (ab!=null) {alert("Bitte verwenden Sie nicht die Sonderzeichen:\n\n"+Zeichen);}

//Lösung durch Angabe der erlaubten Zeichen (die verwende ich immer):

if (ab!=null) Zeichen=ab.match(/[^§!+/?`´'*- üäÜÖÄß;:a-zA-Z_0-9]/g)
if (Zeichen!=null) {alert("Bitte verwenden Sie nicht die Sonderzeichen:\n\n"+Zeichen);}

//Lösung durch Angabe der nicht erlaubten Zeichen:

if (ab!=null) Zeichen=ab.match(/[@!ö]/g)
if (Zeichen!=null) {alert("Bitte verwenden Sie nicht die Sonderzeichen:\n\n"+Zeichen);}

Viele Grüße

Antje