input 只能输入 正负数,且保留小数
话不多说,上菜
1.只能输入正数,保留两位小数
function clearNoNum(val) {
// 先把非数字的都替换掉,除了数字和.
val = val.replace(/[^\d.]/g, '')
// 第一个为数字而不是.
val = val.replace(/^\./g, '')
// 只有出现一个.而没有多个.
val = val.replace(/\.{2,}/g, '.')
// .只出现一次,而不能出现两次以上
val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
// 两位小数
val = val.replace(/^(\-)*(\d+)\.(\d{2}).*$/, '$1$2.$3');
// 防止出现 00 01 情况
if (val.indexOf(".") < 0 && val != "") val = parseFloat(val)
return val
}
- 只能输入正负数 ,保留两位小数
function clearNoNum(val) {
const t = val.charAt(0)
// 转化为数字形式--包含小数,负数
// 先把非数字的都替换掉,除了数字和.
val = val.replace(/[^\d.]/g, '')
// 第一个为数字而不是.
val = val.replace(/^\./g, '')
// 只有出现一个.而没有多个.
val = val.replace(/\.{2,}/g, '.')
// .只出现一次,而不能出现两次以上
val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
// 保留两位小数
val = val.replace(/^(\-)*(\d+)\.(\d{2}).*$/, '$1$2.$3');
// 防止出现 00 01 情况
if (val.indexOf(".") < 0 && val != "") val = parseFloat(val)
// 第一位是负号,则允许添加
if (t === '-') {
val = '-' + val
}
return val
}
如果要保留多位小数 只需要修改 number 即可
val = val.replace(/^(\-)*(\d+)\.(\d{ number }).*$/, '$1$2.$3');