猿问

如何排除带有正则表达式的特定数字?

如何排除使用正则表达式的特定号码吗?我想用正则表达式匹配的0-9999直接digits.It保留两位小数最多,它可以包含在0到9999,但不是“9999.xx”,而不是'10 .xxx'。


我尝试编写如下正则表达式,但其中包含9999.xx。我希望排除' 9999.xx '。有人可以帮助我更改此正则表达式吗?


let reg = /^([1-9]{1}\d{0,3}(\.\d{1,2})?|0(\.\d{1,2}){0,1})$/


reg.test(0)        #outputs true

reg.test(000)      #outputs false

reg.test(9999)     #outputs true

reg.test(0.11)     #outputs true

reg.test(0.111)    #outputs false

reg.test(0.1111)   #outputs false

reg.test(9999.)    #outputs false

reg.test(9999.00)  #outputs true



reg.test(9999.01)  #outputs true

我期望输出/^([1-9]{1}\d{0,3}(.\d{1,2})?|0(.\d{1,2}){0,1 })$ /。test(9999.01)为假,但实际输出为true


慕勒3428872
浏览 379回答 2
2回答

婷婷同学_

据我所知,您只需要在此处进行范围检查:var number = 9999;if (number >= 0 && number <= 9999) {&nbsp; &nbsp; console.log("match");}您可能还想使用isNaN()以下命令首先检查输入的数字是否有效:var number = "9999";if (!isNaN(number) && number >= 0 && number <= 9999) {&nbsp; &nbsp; console.log("match");}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答