首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js正则大于0小于100

在JavaScript中,如果你想使用正则表达式来匹配大于0且小于100的数字(包含整数和小数),你可以使用以下的正则表达式:

代码语言:txt
复制
let regex = /^(?![0\.]+$)(?:(?:[1-9]\d?|99)(?:\.\d+)?|0\.[1-9]\d?)$/;

这个正则表达式的含义是:

  • ^ 表示字符串的开始。
  • (?![0\.]+$) 是一个否定前瞻断言,确保字符串不是仅由0和点组成(即排除像"0.0.0"这样的无效数字)。
  • (?:[1-9]\d?|99) 匹配1到99之间的整数。
    • [1-9] 匹配1到9中的任意数字。
    • \d? 表示前面的数字可以重复0次或1次,即匹配1到99。
    • |99 表示或者匹配数字99。
  • (?:\.\d+)? 是一个非捕获组,匹配小数点后跟一个或多个数字,这个部分是可选的,表示可以有小数部分。
  • | 表示或者。
  • 0\.[1-9]\d? 匹配0.1到0.99之间的小数。
    • 0\. 匹配数字0后面紧跟一个小数点。
    • [1-9]\d? 匹配1到99之间的数字,作为小数部分。
  • $ 表示字符串的结束。

使用这个正则表达式,你可以验证一个字符串是否表示了一个大于0且小于100的数字。例如:

代码语言:txt
复制
let regex = /^(?![0\.]+$)(?:(?:[1-9]\d?|99)(?:\.\d+)?|0\.[1-9]\d?)$/;

console.log(regex.test("50"));    // true
console.log(regex.test("0.5"));   // true
console.log(regex.test("99.99")); // true
console.log(regex.test("100"));   // false
console.log(regex.test("0"));     // false
console.log(regex.test("abc"));   // false

请注意,这个正则表达式不会匹配科学记数法表示的数字,也不会匹配负数或大于等于100的数字。如果你需要匹配这些情况,你需要调整正则表达式以适应更广泛的范围。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券