正则校验匹配[0-100]、[0-1000]之间的正整数或小数点位数限制

简介: 正则校验匹配[0-100]、[0-1000]之间的正整数或小数点位数限制

匹配正整数

[0-100]不含0和100

const reg = /^([1-9][0-9]{0,1}|99)$/
if (reg.test(value) === false) {
  console.log(`校验通过---`)
}

[0-100]含0和100

const reg = /^([0-9][0-9]{0,1}|100)$/ //注意此处细节
if (reg.test(value) === false) {
  console.log(`校验通过---`)
}

[0-1000]不含0和1000

const reg = /^([1-9][0-9]{0,2}|999)$/
if (reg.test(value) === false) {
  console.log(`校验通过---`)
}

[0-1000]含0和1000

const reg = /^([0-9][0-9]{0,2}|1000)$/
if (reg.test(value) === false) {
  console.log(`校验通过---`)
}

匹配正数+小数点限制

[0-1000]不含0和1000,保留小数点后一位

const reg = /^([1-9]\d{0,2}|999.9)(\.\d{1})?$/
if (reg.test(value) === false) {
  console.log(`校验通过---`)
}

[0-1000]含0和1000,保留小数点后1位

const reg = /^([0-9]\d{0,2}|1000)(\.\d{1})?$/
if (reg.test(value) === false) {
  console.log(`校验通过---`)
}

[0-10000]不含0和10000,保留小数点后3位

const reg = /^([1-9][0-9]{0,3}(\.\d{1,3})?|9999.999)$/
if (reg.test(value) === false) {
  console.log(`校验通过---`)
}

[0-10000]含0和10000,保留小数点后3位

const reg = /^([0-9][0-9]{0,3}(\.\d{1,3})?|10000)$/
if (reg.test(value) === false) {
  console.log(`校验通过---`)
}

注:亲测有效,但含0的情况下01、02、03......会通过校验,有快捷方法的可提出来。

相关文章
|
6月前
|
存储
【BigDecima】不可变的,任意精度的有符号十进制数。
【BigDecima】不可变的,任意精度的有符号十进制数。
58 0
给定一个正整数N,将其表示为数字1,3,7,15相加的形式输出。请编码找出使上述数字出现的总次数最少(每个数字可以重复使用)的组合。
给定一个正整数N,将其表示为数字1,3,7,15相加的形式输出。请编码找出使上述数字出现的总次数最少(每个数字可以重复使用)的组合。
|
3月前
|
C语言
用栈实现将一个十进制数值转换成八进制数值。即用该十进制数值除以8,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的八进制数值
这篇文章展示了如何使用栈(包括顺序栈和链栈)实现将十进制数值转换成八进制数值的方法,通过C语言编程演示了两种栈的实现方式和使用场景。
用栈实现将一个十进制数值转换成八进制数值。即用该十进制数值除以8,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的八进制数值
|
3月前
|
数据安全/隐私保护
RegExp——密码复杂度为数字,小写字母,大写字母,特殊符号 至少包含三种,长度为 8 - 16位
RegExp——密码复杂度为数字,小写字母,大写字母,特殊符号 至少包含三种,长度为 8 - 16位
83 0
|
6月前
|
算法
实现一个标准数字字符串四舍五入截取不指定位数的小数
实现一个标准数字字符串四舍五入截取不指定位数的小数
46 0
|
6月前
25.输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值
25.输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值
52 0
|
存储 算法
算法之字符串问题(第415题字符串相加、第43题字符串相乘、第316题去除重复字母)
算法之字符串问题(第415题字符串相加、第43题字符串相乘、第316题去除重复字母)
76 0
|
存储 Java 网络安全
用正则表达式匹配3的任意倍数
正则表达式能匹配3的任意倍数?(注意是任意倍数) ,我曾经也很震惊,但确实可以。我5年多前练习正则表达式,在Regex Golf这个正则表达式测试网站上发现了这个题,当时完全没有任何头绪,于是我在知乎提问正则表达式如何匹配 3 的倍数 ,但是得到了好多知乎大佬的关注,也上了当天的热榜。 排名第一的答主已经给出了答案和思路,但这么多年来我一直都没看懂,最近学习编译原理,看到正则表达式和DFA,于是仔细研究了一下这个问题,并将问题扩展至匹配N的倍数,最后给出通用解法和代码。
43 0
判断数字位数
判断数字位数
68 0
|
C语言
已知一个整数,如何判断这个整数是无符号的?
已知一个整数,如何判断这个整数是无符号的?
92 0