
求只能输入 正数和两位小数 的正则表达式,要能用的。。。
我在网上找了好久,发现这个还差不多[0-9]+\.?[0-9]*,就是不能控制小数的位数。请各位大侠,发能用的。。。...
我在网上找了好久,发现这个还差不多[0-9]+\.?[0-9]*,就是不能控制小数的位数。请各位大侠,发能用的。。。
展开
7个回答
展开全部
/**
* 校验精确到小数点后最多两位的数字
* @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 );
展开全部
用这个\d{1,}\.\d{2}$
{2}中 2 就是来匹配小数位数的,$表示结尾的意思。
{2}中 2 就是来匹配小数位数的,$表示结尾的意思。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/^([1-9]\d*|0)(\.\d{1,2})?$/
/^([1-9]\d*|0)(\.\d{1,2})?$/
匹配整数或最多两位小数

你对这个回答的评价是?
展开全部
^([1-9][0-9]*)(\.[0-9]{2})?$|^(0\.[0-9]{2})$
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-31
展开全部
[0-9]+\.?[0-9]{0,2}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询