inputNumber (value) {
if (value.indexOf('.') !== -1) {
var str = value.substr(value.indexOf('.') + 1)
if (str.indexOf('.') !== -1) {
value = value.substr(0, value.indexOf('.') + str.indexOf('.') + 1)
}
}
if (Number(value) > 50) {
value = 50
}
const arr = ('' + value).split('.')
if (arr.length === 2 && arr[1].length > 2) {
// const sum = parseInt(arr[0]) + 1
// value = sum > 50 ? 50 : sum
value = `${arr[0]}.${arr[1].substring(0, 2)}`
}
this.hours =
('' + value) // 第一步:转成字符串
.replace(/[^\d^.]+/g, '') // 第二步:把不是数字,不是小数点的过滤掉
.replace(/^0+(\d)/, '$1') // 第三步:第一位0开头,0后面为数字,则过滤掉,取后面的数字
.replace(/^\./, '0.') // 第四步:如果输入的第一位为小数点,则替换成 0. 实现自动补全
.match(/^(0|50|[1-9]|[1-4][0-9])?(\.?\d{0,2})$/g)[0] || '' // 第五步:最终匹配得到结果 以数字开头,只有一个小数点,而且小数点后面只能有0到2位小数
}
输入框限制输入为50以内的数字(最多2位小数)
最新推荐文章于 2024-01-31 23:36:50 发布