首页 > 其他分享 >input框限制输入整数或者小数

input框限制输入整数或者小数

时间:2022-09-29 20:12:22浏览次数:51  
标签:return val const 整数 replace input 小数

/**
 * input框限制小数
 * @param {*} val 
 * @returns 
 */
export const inputLimitFloat = function(val) {
  val = val.toString()
  // 截取可能为负号
  // const t = val.charAt(0)
  // 先把非数字的都替换掉,除了数字和.
  val = val.replace(/[^\d.]/g, '')
  // 必须保证第一个为数字而不是.
  val = val.replace(/^\./g, '')
  // 保证只有出现一个.而没有多个.
  val = val.replace(/\.{2,}/g, '.')
  // 保证.只出现一次,而不能出现两次以上
  val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
  val = val.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') // 只能输入两个小数
  if (val.indexOf('.') < 0 && val !== '') { // 以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 
    val = parseFloat(val)
  }  
  // 如果第一位是负号,则允许添加
  // if (t === '-') {
  //   val = '-' + val
  // }
  return val
}

/**
 * input框限制整数
 * @param {*} val 
 * @returns 
 */
export const inputLimitInt = (val) => {
  if (val !== '') {
    return parseInt(val) === 0 ? 0 : parseInt(val) || ''
  } else {
    return ''
  }
}

标签:return,val,const,整数,replace,input,小数
From: https://www.cnblogs.com/jia-zq/p/16742879.html

相关文章

  • 整数的逆序
    思路:首先定义三个变量abc,让用户输入一个整数存放在变量a中     然后让a对10取余数得到其个位数,将这个个位数赋值给b     每次的a/10使得a每次丢到其各......
  • 7. 整数反转【取余】
    题目给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围[−231,231−1],就返回0。假设环境不允许存......
  • React+hook+ts+ant design封装一个input和select搜索的组件
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从......
  • js中小数取整的方法
    varnum=123.123常用方法console.log(parseInt(num));//123“双按位非”操作console.log(~~num);//123按位或console.log(num|0);//123按位异或console.log......
  • 输入整数到文件,并计算(回车与换行)
        数据文件:  对数据进行计算:  运行结果: ......
  • report 报表截取小数点后位数format 格式写法
    {0:0.######}  上边写法最前边个位0可以保留{0:#.######}上边写法个位0就会不显示上边写法可以保证小数点后截取6位,不足6位不会用0顶替,也就是去掉小数点后......
  • LeetCode[13] 罗马数字转整数
    1罗马数转整数1.1题目描述        罗马数字包含以下七种字符: I, V, X, ``L,C,D 和 M`。字符数值I1V5X10L50C100D500M100......
  • 具有50%占空比的奇数整数分频
    参考自《硬件架构的艺术》。思路:产生具有50%占空比的奇数分频时钟,最简单的方式是以期望输出频率的一半(即输出周期的两倍)生成两个正交相位时钟,这两个正交时钟之间有90°的......
  • (0,100] (0,999999] el-input rules
     validateMoney(rule,value2,callback){   letvalue=this.addPrizeForm.money_ap;   varreg=/(^[0-9]{1,6}$)|(^[0-9]{1,6}\.{1}[0-9]{1,2}$)/ ......
  • 网页标签功能插: jQuery tags input 翻译api
    看名字应该知道是干嘛用了吧。这种规格标签,因为在写一个后台,用到这种场景,vuejs又没什么可用的,所以这种交互性极强的,还是离不开jquery啊。后悔没用react开发,结合ant里面......