keyup输入框小数位控制
<input type="number" min="0" step="1" ng-keyup="retain2($event,1)"/>
$scope.retain2 = function (e, num = 0) {
//正则表达式判断
e.currentTarget.value=Number(e.currentTarget.value.replace(/^(0+)|[^\d]+/g,''))
//余数判断
if (isNaN(value)) {
e.currentTarget.value = 0
return
}
if (value < 0) {
e.currentTarget.value = 0
}
let temp = '1'
let multiple = temp.padEnd(num + 1, '0')
if ((value * Number(multiple)) % 1 != 0) {
e.currentTarget.value = Number(value).toFixed(num)
}
}
oninput
<input type="text" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/>
<input type="text" oninput="if(value.indexOf('.') > 0){value=value.slice(0,value.indexOf('.') + 4)}"/>
input方法
<input type="number" id="xxx" />
$('#xxx').on('input',function(e){
if(e.delegateTarget.value.indexOf('.') > 0){
e.delegateTarget.value=e.delegateTarget.value.slice(0,e.delegateTarget.value.indexOf('.') )
}
}
})