vue输入框只能输入数字
程序员文章站
2022-06-07 16:06:50
...
vue输入框只能输入数字
/**
* /数量只能输入数字即两位小数
* @param data 所操作的对象
* @param label 字段名
* @param length 小数点位数,0代表只能输入整数.默认为2
*/
export const changeNum = (data, label, length = 2) => {
let result = data[label]
result = result.replace(/(^\s*)|(\s*$)/g, '')
if (!result) {
data[label] = ''
return
}
let reg = ''
if (length) {
reg = /[^\d.]/g
} else {
reg = /[^\d]/g
}
// 只能是数字和小数点,不能是其他输入
result = result.replace(reg, '')
// 保证第一位只能是数字,不能是点
result = result.replace(/^\./g, '')
// 小数只能出现1位
result = result.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
// 小数点后面保留2位
const re = new RegExp('^(\\d+)\\.(\\d{0,' + length + '}).*$') // 改正则即为/^(\d+)\.(\d{0,3}).*$/
result = result.replace(re, '$1.$2')
data[label] = result
}
上一篇: php 读取mysql数据库三种方法
下一篇: 构造函数、原型和实例的关系解读