自定义指令如何使用请点击这里,本文不做详细讲解,主要展示正则规则
input.onkeyup = function (e) {
input.value = input.value.replace(/[^\d\.]/g,'')
input.value = input.value.replace(/^\./g,'')
input.value = input.value.replace(/\.{2,}/g,'.')
input.value = input.value.replace(/\.{2,}/g,'.')
input.value = input.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.')
input.value = input.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.')
input.value = input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')
if(input.value=='00'){ //输入 000000 时,转成 0
input.value=0
}
}
input.onblur = function (e) {
input.value = input.value.replace(/[^\d\.]/g,'')
input.value = input.value.replace(/^\./g,'')
input.value = input.value.replace(/\.{2,}/g,'.')
input.value = input.value.replace(/\.{2,}/g,'.')
input.value = input.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.')
input.value = input.value.replace('.','$#$').replace(/\./g,'').replace('$#$','.')
input.value = input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')
if(input.value=='0'){ //输入0的时候转成空 或者可自行调节 0.00 看需求
input.value=''
}
if(input.value.split('.')[1]==''){ 把 123. 的数据转成 123
input.value=input.value.split('.')[0]
}
if(input.value.substr(0, 1) == "0" &&input.value.substr(1, 1) != "."){ //把 0123456 的数据转成 123456
input.value=input.value.substr(1,input.value.length-1)
}