gruss Andreas, hallo seth,
var regXRGBValue = (/[1]$|(?:[2][0-9])$|(?:^1[0-9][0-9])$|(?:^2[0-5][0-5])$/);
Unvollständig.
...
^2[0-5][0-5]
Bei dreistelligen Zahlen mit 2 am Anfang läßt Du als letzte Ziffer nur
0 bis 5 zu, 6 bis 9 sind aber zulässig, falls die 2. Ziffer 0 bis 4 ist.
jo, seth hat mich fuer diesen zweck ja einen besseren ausdruck gelehrt.
mein altes schema konsequent durchgezogen sollte jetzt aber funktionieren:
var regXRGBValue = (/
^[0-9]$| // 0 - 9
^[1-9][0-9]$| // 10 - 99
^1[0-9][0-9]$| // 100 - 199
^2[0-4][0-9]$| // 200 - 249
^25[0-5]$ // 250 - 255
/);
alert(
[-1,0,9,10,99,100,199,200,299,249,250,255,256].filter(function (elm/*, idx, arr*/) {
return ((/^[0-9]$|^[1-9][0-9]$|^1[0-9][0-9]$|^2[0-4][0-9]$|^25[0-5]$/).test(elm));
})
);
bzw. konsolentestfaehig:
alert([-1,0,9,10,99,100,199,200,299,249,250,255,256].filter(function(elm){return((/^[0-9]$|^[1-9][0-9]$|^1[0-9][0-9]$|^2[0-4][0-9]$|^25[0-5]$/).test(elm));}));
liefert mir brav »0,9,10,99,100,199,200,249,250,255« zurueck.
klaert mich bitte mal auf - welcher ausdruck wuerde denn nach der theorie von
einer regex-engine performanter verarbeitet werden - der von mir ueberarbeitete,
oder seths dahingeperlter - (/^(?:2(?:5[0-5]|[0-4]\d)|(?:1\d|[1-9])?\d)$/)
- und
vor allem, warum?
dankend - 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:]