Check if a value is within a range of numbers
You're asking a question about numeric comparisons, so regular expressions really have nothing to do with the issue. You don't need "multiple if
" statements to do it, either:
if (x >= 0.001 && x <= 0.009) { // something}
You could write yourself a "between()" function:
function between(x, min, max) { return x >= min && x <= max;}// ...if (between(x, 0.001, 0.009)) { // something}
Here is an option with only a single comparison.
// return true if in range, otherwise falsefunction inRange(x, min, max) { return ((x-min)*(x-max) <= 0);}console.log(inRange(5, 1, 10)); // trueconsole.log(inRange(-5, 1, 10)); // falseconsole.log(inRange(20, 1, 10)); // false
If you must use a regexp (and really, you shouldn't!) this will work:
/^0\.00([1-8]\d*|90*)$/
should work, i.e.
^
nothing before,- followed by
0.00
(nb: backslash escape for the.
character) - followed by 1 through 8, and any number of additional digits
- or 9, followed by any number of zeroes
$
: followed by nothing else