![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
var reg=new RegExp("/^d{5}/","g"); |
#3
| ||||
| ||||
|
|
Irgendwie spinnt mein RegExp: |
|
var reg=new RegExp("/^d{5}/","g"); |
|
if(reg.test('30539')==false){ |
|
bringt mir IMMER false, auch wenn der zu prüfende String wie in dem Fall eigentlich true bringen müsste. Hat da jemand eine Idee? |
#4
| |||
| |||
|
|
Gerd Wagner wrote: Irgendwie spinnt mein RegExp: Nein. var reg=new RegExp("/^d{5}/","g"); Wie schon ein window.alert() dem zweitfaulsten aller Programmierer(!) zeigt, erzeugt das /\/^d{5}\//g, matcht also auf einen Slash gefolgt vom Anfang der Eingabe (was nicht sein kann) gefolgt von 5 "d" und einem Slash. if(reg.test('30539')==false){ * if (!reg.test('30539')) * { bringt mir IMMER false, auch wenn der zu prüfende String wie in dem Fall eigentlich true bringen müsste. Hat da jemand eine Idee? RTFM¹, RTFFAQ², STFW³! Entweder * var reg = new RegExp("^\\d{5}", "g"); oder * var reg = /^\d{5}/g; Der Modifizierer "g" ist hier natürlich überflüssig, denn es gibt nur einen Anfang der Eingabe (sinnvoll wäre es allenfalls mit Modifizierer "m", weil es dann für den Zeilenanfang stünde). Tatsächlich ist auch die Variable `reg' überflüssig, wenn die RegExp nicht wiederverwendet werden braucht: * if (!/^\d{5}/.test("30539")) PointedEars ___________ ¹ https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global... ² *<http://dcljs.de/ ³ *<http://www.google.com/?search=q=JavaScript+RegExp&filter=0 |
#5
| |||
| |||
|
|
Ja, Danke! Das war´s! Habe den Backslash in der Expression vergessen. |
|
[TOFU: Text Oben, Fullquote Unten] |
![]() |
| Thread Tools | |
| Display Modes | |
| |