求只能输入 正数和两位小数 的正则表达式,要能用的。。。
发布网友
发布时间:2022-05-06 10:54
我来回答
共5个回答
热心网友
时间:2022-06-29 19:55
/**
* 校验精确到小数点后最多两位的数字
* @author g8up.cn
* @date 2017.06.14
*/
//测试
function test( reg ){
// 用例: case + 预期
const ret = [{
case:'0',
exp: true,
},{
case:'0.1',
exp: true,
},{
case:'0.12',
exp: true,
},{
case:'0.123',
exp: false,
},{
case:'-0.12',
exp: true,
},{
case:'12',
exp: true,
},{
case:'012',
exp: false,
},{
case:'-012',
exp: false,
},{
case:'12.0',
exp: true,
},{
case:'12.',
exp: false,
},{
case:'00',
exp: false,
},{
case:'-0',
exp: true,
},{
case:'-12.123',
exp: false,
},{
case:'-0.1.2',
exp: false,
},].filter( item => {
return reg.test( item.case) !== item.exp;
});
console.log('验证不通过的用例有', ret.map(item=>item.case).join('\n') );// 打印非预期
}
var reg = /^((?:-?0)|(?:-?[1-9]\d*))(?:\.\d{1,2})?$/;
test( reg );
热心网友
时间:2022-06-29 19:56
用这个\d{1,}\.\d{2}$
{2}中 2 就是来匹配小数位数的,$表示结尾的意思。
热心网友
时间:2022-06-29 19:56
/^([1-9]\d*|0)(\.\d{1,2})?$/
/^([1-9]\d*|0)(\.\d{1,2})?$/
匹配整数或最多两位小数
热心网友
时间:2022-06-29 19:57
^([1-9][0-9]*)(\.[0-9]{2})?$|^(0\.[0-9]{2})$
热心网友
时间:2022-06-29 19:58
[0-9]+\.?[0-9]{0,2}