正则表达式为2-255的整数范围

时间:2017-02-09 18:52:27

标签: javascript regex

我需要一个RegEx(对于Javascript),数字范围为2-255,我很难为此目的修改类似的RegExes。

^([2-9]|1[0-6])$

那是2-16,但我无法正确得到第三位数字。

5 个答案:

答案 0 :(得分:5)

^([2-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$

匹配2-9,10-99,100-199,200-249和250-255。

答案 1 :(得分:3)

使用var pattern = /^([2-9]|\d{2}|1\d{2}|2[0-4]\d|2[0-5][0-5])$/; console.log(pattern.test(3)); console.log(pattern.test(300)); console.log(pattern.test(123)); console.log(pattern.test(255)); console.log(pattern.test(10)); console.log(pattern.test(256)); console.log(pattern.test(1)); console.log(pattern.test(199)); console.log(pattern.test(249));函数的解决方案:



var inRange = function (num) {
  var num = Number(num);
  return !isNaN(num) && (num % 1 === 0) && num >= 2 && num < 256;
};

console.log(inRange(254.4));
console.log(inRange(255));
&#13;
&#13;
&#13;

但是,对于这种情况,还有一些 更好的 方法:

&#13;
&#13;
{{1}}
&#13;
&#13;
&#13;

答案 2 :(得分:1)

^([2-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$

答案 3 :(得分:1)

使用RegExp 的最短解决方案之一可能是

 ^([2-9]\d?|1\d\d?|2([0-4]\d|5[0-5]))$
  • [2-9]\d? - 匹配 2-9 20-99
  • 1\d\d? - 匹配 10-19 100-199
  • 2([0-4]\d|5[0-5]) - 匹配 200-255

答案 4 :(得分:0)

想出来!它&#39; S:

\b(?:2[0-4][0-9]{2}|25[0-5]|[1-9][0-9]|1[0-9]{2}|[2-9])\b