peterS.: search(regExp) Problem

Beitrag lesen

gruss Moe,

var pattern = document.getElementsByName(feld.name)[0].getAttribute("pattern");
var errorMsg = document.getElementsByName(feld.name)[0].getAttribute("errorMsg");
// alert(pattern);
// alert(errorMsg);
if (feld.value.search(pattern) == -1 && feld.value != "")
{
  alert(errorMsg);
}

}

...

<input type="text" name="vorname" errorMsg="Nur Buchstaben eingeben oder leer lassen!" pattern="/[1]+$/"  onBlur="checkField(this)">

der wert Deines attributes "pattern" ist vom typ "string";
   diesen wert weist Du nun Deiner js-variable "pattern" zu -
   dabei bleibt der typ unveraendert "string", auch wenn Du
   fuer den attributwert "pattern" die literal-schreibweise
   von regulaeren ausdruecken verwendest;

der konstruktor "RegExp" hilft an dieser stelle weiter:

"RegExp" erwartet zwei parameter vom typ "string" -
   parameter 1 ist das suchmuster (ohne slashes), parameter
   2 steht fuer die unterschiedlichen variationen der flags
   "g", "i", "m" (oder ist eben ein leerstring);

Dein bsp. sieht dann fogendermassen aus:

var pattern = document.getElementsByName(feld.name)[0].getAttribute("pattern");
   pattern = new RegExp(pattern,"");

...

<input type="text" name="vorname" errorMsg="Nur Buchstaben eingeben oder leer lassen!" pattern="[2]+$" onblur="checkField(this)">

viel erfolg und by(t)e by(t)e - peterS. - pseliger@gmx.net

--
sh:| fo:) ch:? rl:| br:& n3:} n4:# ie:| mo:{ va:| de:[ zu:] fl:) ss:) ls:& js:)


  1. A-Za-z ↩︎

  2. A-Za-z ↩︎