Variablen in regex match()

SonicBe@m

Erfahrenes Mitglied
Hy all

ich hab momentan ein Problem mit einem Javascript.

also
es soll eigentlich ein total simpler regex Check werden
Code:
function hasTextfielOnlyAllowedCaracters(obj,strAllowedChars){
   // includes a-Z && 0-9
   if(obj.value.match(/[^a-z0-9]/i).length > 0)
      return false
   return true; 
}

der witz ist nun
wie kann ich bitte die Variable strAllowedChars in mein Pattern einbauen?
Code:
 if(obj.value.match(/[^a-z0-9]strAllowedChars/i).length > 0)
funktioniert leider nicht
und
Code:
   if(obj.value.match("/[^a-z0-9]"+strAllowedChars+"/i").length > 0)
ebenfalls nicht

ist es überhaupt möglich eine Variable in ein Javascript regex Pattern einzubauen?

-
 
Jo.... per eval() kannst du den gesamten Ausdruck zusammenbauen.

Ein Beispiel findet sich irgendwo in den Beiträgen der letzten Woche, da hatten wir dieses Thema gerade.
 
super
nachdem ich wusste nach was ich suchen muss hab ich es auch prompt gefunden

versucht mal ne schlüssige Antwort mit regex als Suchwort zu bekommen


Code:
function hasTextfielOnlyAllowedCaracters(obj,strAllowedChars){
	// includes a-Z && 0-9
	pattern=eval("/[^a-z0-9" + strAllowedChars + "]/i");
	tmp = obj.value.match(pattern);
	if(tmp != null)
		if(tmp.length > 0)
		return false
	return true; 
}
 

Neue Beiträge

Zurück