js只允许输入数字并且只有1个小数点

我要冲啦个人网站建设2024-11-15web前端

方法一:

const change = (value) => {

// 去除除了数字和.以外字符

  let val = value.replace(/[^\d.]/g, '')

  const index = val.indexOf('.')

  const includeNumber = /\d./g.test(val)

  // 只保留第一个小数点

  if (~index && includeNumber) {

    val = val.replace(/\./g, '')

    val = val.split('')

    val.splice(index, 0, '.')

    val = val.join('')

  }

  return val

}

方法二:
// js验证数字输入

function inputFloat(v){

// 值允许输入一个小数点和数字

v = v.replace(/[^\d.]/g,""); //先把非数字的都替换掉,除了数字和.

v = v.replace(/^\./g,""); //必须保证第一个为数字而不是.

v = v.replace(/\.{2,}/g,"."); //保证只有出现一个.而没有多个.

v = v.replace(".","$#$").replace(/\./g,"").replace("$#$",".");

//保证.只出现一次,而不能出现两次以上

}

文章关键词
js
只允许输入数字并且只有1个小数点