首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >整数范围2-255的正则表达式

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

Stack Overflow用户
提问于 2017-02-09 18:52:26
回答 5查看 1.3K关注 0票数 1

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

代码语言:javascript
复制
^([2-9]|1[0-6])$

那是2-16,但我不能完全正确地得到第三个数字。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-02-09 18:58:11

^([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.

票数 7
EN

Stack Overflow用户

发布于 2017-02-09 19:06:01

使用RegExp.prototype.test()函数的解决方案:

代码语言:javascript
复制
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));

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

代码语言:javascript
复制
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));

票数 3
EN

Stack Overflow用户

发布于 2017-02-09 18:58:24

代码语言:javascript
复制
^([2-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42144685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档