react 输入框 输入大于等于0,最多两位小数

value:输入框的值
se.grade:要赋值的对象
se.fullCredit:最大值


//多个输入框的情况 change事件中,进行数据处理
if (Number(value) <= Number(se.fullCredit)) {

value = value.replace(/[^\d.]/g, '') //清除“数字”和“.”以外的字符
value = value.replace(/^\./g, '') //验证第一个字符是数字而不是.
value = value.replace(/\.{2,}/g, '.') //只保留第一个. 清除多余的.
value = value.replace(/^-/, '')

if (value.length >= 2) {
if (/^(\d*(\.?)\d{1,2})$/.test(value)) { //小数
if (/^[0-9][0-9]/.test(value)) { //如果是0开始,后面不允许跟数字 避免 01,02等情况
value = value.replace(/^0/, '')
}
se.grade = value
}
} else {
se.grade = value
}

// console.log('typeof se.grade---2', se.grade)

} else {
se.grade = se.fullCredit
}
}
posted @ 2021-04-27 16:14  豆豆是我  阅读(429)  评论(0编辑  收藏  举报