js如何限制文本框最多录入9位数字,其中小数点以后最多可以录入4位?

C罗子 2018-08-17 09:49:16
我有一个这样的页面,我想限制input最多录入9位,允许录入非法字符,只能录入整数和小数,但是录入小数的话,小数点以后最多可以录入4位,现在的代码是这样的,没有实现限制录入4位小数,请问怎么修改?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>111</title>
<script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script>
</script>

</head>
<body>
<input type="text" maxlength="9" class="text-right number inputMust" onkeyup="value=value.replace(/[^\d{1,}\.\d{1,}|^\d{1,}\%|\d{1,}]/g,'')"/>
</body>
</html>
...全文
1334 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员徐金 2018-09-04
  • 打赏
  • 举报
回复
.length > 9 js控制disabled
天际的海浪 2018-08-21
  • 打赏
  • 举报
回复
<input type="text" maxlength="9" class="text-right number inputMust" onkeyup="value=value.replace(/[^\d\.]/g,'').replace(/^(\d*(\.\d{0,4})?).*/,'$1')"/>
ambit_tsai-微信 2018-08-21
  • 打赏
  • 举报
回复
分两步咯
1、判断长度是否不超过9位
value.length <= 9

2、判断整数和小数,并且小数点以后最多可以录入4位
/^\d+(\.\d{1,4})?$/.test(value)

两个条件结合起来就行了
75闪光雷 2018-08-17
  • 打赏
  • 举报
回复
给 <input id="content"

$("#content").change(function(this){
     var value=this.value;
     //这里正则表达式判断小数点后面几位
      if(value.match((\d*\.\d{1,4}))){
        //符合输入处理
     }
    else {
     //不符合输入处理
    }
})
以上 code未经验证 但是思路是这个,具体请自己调试

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧