Javascript ng模式需要一个正则表达式,它应该是浮点,并且总是大于0,但不允许0

Javascript ng模式需要一个正则表达式,它应该是浮点,并且总是大于0,但不允许0,javascript,angularjs,regex,Javascript,Angularjs,Regex,允许的数字:0.1、0.2、10.1,最多99.9 不允许:0、123、12.23 使用 代码: 重量(千克) 输入正确的重量 只需检查大于0的值,并使用以下正则表达式测试剩余规则 ^0*\d{1,2}(?:\.\d+)?$ const regex=/^0*\d{1,2}(?:\.\d+)$/gm; 常数strs=['0'、'123'、'123.123'、'12.12'、'220'、'22.22'、'22.3'、'011.2', '10','0.0'] strs.forEach(str=

允许的数字:0.1、0.2、10.1,最多99.9

不允许:0、123、12.23

使用

代码:


重量(千克)
输入正确的重量

只需检查大于0的值,并使用以下正则表达式测试剩余规则

^0*\d{1,2}(?:\.\d+)?$

const regex=/^0*\d{1,2}(?:\.\d+)$/gm;
常数strs=['0'、'123'、'123.123'、'12.12'、'220'、'22.22'、'22.3'、'011.2',
'10','0.0']
strs.forEach(str=>{
console.log(str,str>0&®ex.test(str))

})
只需检查大于0的值,并使用以下正则表达式测试剩余规则

^0*\d{1,2}(?:\.\d+)?$

const regex=/^0*\d{1,2}(?:\.\d+)$/gm;
常数strs=['0'、'123'、'123.123'、'12.12'、'220'、'22.22'、'22.3'、'011.2',
'10','0.0']
strs.forEach(str=>{
console.log(str,str>0&®ex.test(str))

})
一种简单的方法是将一个数字与可选的小数部分进行匹配,并检查该值是否大于零且小于100

const pattern = /^\d+(?:\.\d+)?$/;
const s = "0.0";
let result = pattern.test(s) && s > 0 && s < 100;
const模式=/^\d+(?:\。\d+)$/;
const s=“0.0”;
让结果=模式。测试和&s>0和&s<100;
const模式=/^\d+(?:\。\d+)$/;
[
"0.1",
"0.2",
"10.1",
"99.9",
"1.1",
"1.0",
"10",
"12.23",
"100",
"100.1",
"100.0",
"200",
"200.6",
"0.0",
"0.",
"123",
"0"
].forEach(s=>{
console.log(s+“==>”+(模式测试和&s>0和&s<100))

});一种简单的方法是将一个数字与可选的小数部分匹配,并检查该值是否大于零且小于100

const pattern = /^\d+(?:\.\d+)?$/;
const s = "0.0";
let result = pattern.test(s) && s > 0 && s < 100;
const模式=/^\d+(?:\。\d+)$/;
const s=“0.0”;
让结果=模式。测试和&s>0和&s<100;
const模式=/^\d+(?:\。\d+)$/;
[
"0.1",
"0.2",
"10.1",
"99.9",
"1.1",
"1.0",
"10",
"12.23",
"100",
"100.1",
"100.0",
"200",
"200.6",
"0.0",
"0.",
"123",
"0"
].forEach(s=>{
console.log(s+“==>”+(模式测试和&s>0和&s<100))
});
const regex=/^[1-9]|\d{2}\.\d{1}$/
常量nums=[0.1,0.2,0.0,10.1,99.9,0,123,12.23];
nums.forEach(el=>{
if(正则表达式测试(el))
log(el+“是匹配项!”)
其他的
console.log(el+“不匹配!”)
})
const regex=/^[1-9]|\d{2}\.\d{1}$/
常量nums=[0.1,0.2,0.0,10.1,99.9,0,123,12.23];
nums.forEach(el=>{
if(正则表达式测试(el))
log(el+“是匹配项!”)
其他的
console.log(el+“不匹配!”)

})
你能解释为什么12.23不被允许,它似乎符合你的标准吗?@phuzi在
12.23的末尾有一个
你能解释为什么12.23不被允许,它似乎符合你的标准吗?@phuzi在
12.23的末尾有一个
两位数字也应该是真的。10 12 13类似的东西也可以接受。它唯一不应该接受的是0,它应该接受0到99.9之间的所有数字only@Sourabh然后您可以将点部分设置为可选的
^(?[0-9]\.[1-9]\.[1-9][0-9]?(?:\.[0-9])$
请参见我已更新了答案。2位数字也应为真。10 12 13类似的东西也可以接受。它唯一不应该接受的是0,它应该接受0到99.9之间的所有数字only@Sourabh然后,您可以将点部分设置为可选的
^(?[0-9]\.[1-9]\[1-9][0-9]?(?:\.[0-9])$
请看我已经更新了答案。@Sourabh这里我们可以遵循的一个简单而更好的方法是
str>0
,而不是使用
^0*\d{1,2}(?:\.\d+)$
以测试有效性string@Thefourthbird不,
12.23
是有效匹配,OP作为无效匹配的一个OP在末尾有
,即
12.23。
@Sourabh这里我们可以遵循的一个简单而更好的方法是
str>0
,而不是使用
^0*\d{1,2}(?:\.\d+)?$
以测试是否有效string@Thefourthbird否
12.23
是有效匹配,作为无效匹配的一个OP在末尾有
,即
12.23。