peterS.: RegExp für einen zahlenstring zwischen "0" und "255"

Beitrag lesen

hallo seth,

statt
  /[0-9]{1,3}/
"einfach"
  /2(?:5[0-5]|[0-4]\d)|(?:1\d|[1-9])?\d/
verwenden. ;-)
»»
   ... - hast Du das ding ausprobiert? angewandt auf den test
   weiter unten bekomme ich immer [true].

aber kann ich ja mal machen...
hmm, bei mir klappt das:

$ perl -e 'for (-1,0,1,10,99,199,299,256,260,255){print "$_\n" if /^(?:2(?:5[0-5]|[0-4]\d)|(?:1\d|[1-9])?\d)\z/;}'
0
1
10
99
199
255

wuesste nicht, was daran falsch sein soll.

nichts - ich hab' das einfach so bei Dir abgeschrieben (siehe ganz oben) und
dem ding dann genau die begrenzer verwehrt - ^$ - die ich meinem bsp. dann
umso grosszuegiger spendiert habe.

$ perl -e 'for (-1,0,1,10,99,199,299,256,260,255){print "$_\n" if /^(?:2(?:5[0-5]|[0-4]\d)|(?:1\d|[1-9])?\d)\z/;}'

geile syntax - so aehnlich koennen wir browserfuzzies das jetz auch:

sowohl ...

alert( // meinereiniger  
  
  [-1,0,1,10,99,199,299,256,260,255].filter(function (elm/*, idx, arr*/) {  
  
    return ((/^[0-9]$|(?:^[1-9][0-9])$|(?:^1[0-9][0-9])$|(?:^2[0-5][0-5])$/).test(elm));  
  })  
);

bzw. (achtung nur fuer die konsole oder die adressezeile von mozillas geeignet)

alert([-1,0,1,10,99,199,299,256,260,255].filter(function(elm){return((/^[0-9]$|(?:^[1-9][0-9])$|(?:^1[0-9][0-9])$|(?:^2[0-5][0-5])$/).test(elm));}));

... als auch ..

alert( // deinereiniger JavaScript-kompatibel gemacht:  
  
  [-1,0,1,10,99,199,299,256,260,255].filter(function (elm/*, idx, arr*/) {  
  
    return ((/^(?:2(?:5[0-5]|[0-4]\d)|(?:1\d|[1-9])?\d)$/).test(elm));  
  })  
);

bzw.

alert([-1,0,1,10,99,199,299,256,260,255].filter(function(elm){return((/^(?:2(?:5[0-5]|[0-4]\d)|(?:1\d|[1-9])?\d)$/).test(elm));}));

... melden gleichlautend »0,1,10,99,199,255« - sehr schoen - wieder was gelernt.

dankbar gruessend - 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:]