MudGuard: RegExpr - falsch interpretiert

Beitrag lesen

Hi,

<script type="text/javascript" language="JavaScript">

var re1 = /[a-z]?/;
document.write(re1.test("jk") + "<br />");

"jk" enthält wie gefordert 0 oder 1 Kleinbuchstaben ==> true

var re2 = /\d{5}/;
document.write(re2.test("123456") + "<br />");

"123456" enthält 5 Ziffern ==> true

var re3 = /0|-?[1-9]\d*/;
document.write(re3.test("2jk") + "<br /><br />");

Der String enthält eine Ziffer ==> true

Willst Du Deinen Regex vielleicht am Stringanfang und -ende verankern? ^ und $ dürften helfen.

var re4 = new RegExp("\d{5}");
document.write(re4.test("12343") + "<br />");

\d wird schon beim Einlesen des Strings zu _einem_ Zeichen - so wie \t zu _einem_ Zeichen (Tabulator) wird.
Bei \d ist mir aber die Bedeutung nicht bekannt.

"12343" enthält nicht fünfmal dieses Zeichen \d ==> false

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.