正则匹配只能输入整数或浮点数

// 只能输入整数或浮点数(不完全版本不能排除输入0.00000的状况)
filterNumber(name,e){
//先把非数字的都替换掉,除了数字和.
e.target.value = e.target.value.replace(/[^\d\.]/g,'');
//必须保证第一个为数字而不是.
e.target.value = e.target.value.replace(/^\./g,'');
//保证第一位只能有一个或0个0
e.target.value = e.target.value.replace(/^0{2,}/,'0');
//以0开始的第二位只能为小数点
e.target.value =e.target.value.replace(/^0[\d]/,'0');
//保证只有出现一个.而没有多个.
e.target.value = e.target.value.replace(/\.{2,}/g,'.');
//保证.只出现一次,而不能出现两次以上
e.target.value = e.target.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.');
return e;
}

在知道保留几位小数的情况下可解决。即当位数到达最后一位时如果还输入的0就用''替换掉。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37452696/article/details/80689115
个人分类: js
上一篇webpack4.0踩坑
下一篇Mac 活动监视器打不开,一打开闪退
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭