js正则表达式0到100两位小数

js yekong

在JavaScript中,要创建一个正则表达式以匹配从0到100的数字,包括可能的两位小数,可以使用以下正则表达式:

let regex = /^(100(\.00?)?|(\d{1,2})(\.\d{1,2})?)$/;

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

  • ^ 表示字符串的开始。
  • 100(\.00?)? 匹配100,后面可以跟着.0.00或者没有小数部分。
  • | 表示逻辑或。
  • (\d{1,2}) 匹配1到99之间的任意数字(包括单个数字和两位数字)。
  • (\.\d{1,2})? 匹配小数点后面跟着1到2位数字的小数部分,这部分是可选的。
  • $ 表示字符串的结束。

这个正则表达式可以匹配如下的数字:

  • 精确到整数的0到100之间的数字(例如021100)。
  • 精确到一位或两位小数的0到100之间的数字(例如0.53.1499.99100.00)。

示例代码:

let regex = /^(100(\.00?)?|(\d{1,2})(\.\d{1,2})?)$/;
console.log(regex.test("0"));       // 输出:true
console.log(regex.test("100"));     // 输出:true
console.log(regex.test("100.0"));   // 输出:true
console.log(regex.test("99.99"));   // 输出:true
console.log(regex.test("100.01"));  // 输出:false,因为超出了100的范围
console.log(regex.test("0.123"));   // 输出:false,因为超过了两位小数
console.log(regex.test("101"));     // 输出:false,因为超出了100的范围

请注意,这个正则表达式假设数字前面没有任何前导零。如果需要处理前导零的情况,正则表达式需要进行相应的调整。

喜欢