正则,只允许输入小数点后3个小数
function isFloat(str){
if(str== " ")
return false;
var reg=/^\-?([1-9]\d*|0)(\.\d?[0-9])?$/;
return reg.test(str);
}
这是俺当初网上抄的,是限制小数点后两个小数,今天需求改成3个小数,我不懂正则,学习中。。。各位帮忙改下啊。。。
------解决方案--------------------那个正则表达式有点问题,你输入1.他能通过.而且写得有点乱
试试这个^\-?\d+(\.\d{1,3})?$,应该可以的
------解决方案--------------------还是不严格..~当非小数位只有1位的时候应该可以为0.所以应该是:
/^-?(\d|[1-9]\d+)(\.\d{0,2}[1-9])?$/
------解决方案--------------------/^(?:\+|-)?\d+(?:\.\d{1,3})?$/
ok?
------解决方案--------------------function isFloat(str){
if(str== " ")
return false;
var reg=/^\-?([1-9]\d*|0)(\.[1-9]{1,3})?$/;
return reg.test(str);
}
alert(isFloat( "123.152 "));//true