欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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
}
相关标签: vue 数字输入