peterS.: JSLint zufriedenstellen "Bad regular expression"

Beitrag lesen

gruss Jeena,

ich muss leider Deine gefuehle verletzen - nimm dies hier:

var url;  
while (url.search(/[^a-z0-9\.,_\/\-]/) !== -1) {  
  url = url.replace(/[^a-z0-9\.,_\/\-]/, "");  
}

die unterschiede liegen ...

while(url.search(/[^a-z0-9.,_/-]/) != -1) {url = url.replace(/[^a-z0-9.,_/-]/, "");}
----^---------------------^--^^------^--------------------------------^--^^
...hier.............. hier,hier,hier,hier ........................hier,hier+hier
-----v---------------------v---v-v-------v---------------------------------v---v-v
while (url.search(/[^a-z0-9\.,_\/\-]/) !== -1) {url = url.replace(/[^a-z0-9\.,_\/\-]/, "");}

sobald Du nach zeichen suchst, die ausdruecklich auch steuerzeichen
fuer RegExp(ressions) sind, muessen diese maskiert werden - unter
anderem dann eben . , / und -

aber wie schon mehrfach angesprochen; das ist *nur* ein LINT-programm.
das macht vorschlaege, die man genau an den stellen weiterhin ignorieren
kann, die sich nicht ueber die optionen unterdruecken liessen.

ich weiss beispielsweise ganz genau, wann ich bei vergleichen bewusst
implizites wrapping zulassen will, und wann ich wirklich nicht auf
identitaet verzichten kann.

im obigen bsp. wuerde ich uebrigens auf ">= 0" vergleichen.

so long - peterS. - pseliger@gmx.net

--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]