jquery 正则 限制输入的整数和小数位数

yangxueke 2013-12-13 02:27:20
input.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //限制2位小数

想限制整数位数:
input.value.replace(/^(\-)*(\d{5})\.(\d\d).*$/, '$1$2.$3');
input.value.replace(/^(\-)*([0-9]{5})\.(\d\d).*$/, '$1$2.$3');
input.value.replace(/^(\-)*(\d\d\d\d\d)\.(\d\d).*$/, '$1$2.$3');
都没有作用。
...全文
626 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2013-12-18
  • 打赏
  • 举报
回复
<input type="text" onblur="rep(this)"/>
<script>
    function rep(o) {
        if (!/^\d{5}\.\d{2}$/.test(o.value)) {
            var ov = o.getAttribute('ov');
            o.value = ov ? ov : '';
        } else o.setAttribute('ov', o.value);
    }
</script>
yangxueke 2013-12-18
  • 打赏
  • 举报
回复
我要做的是:输入的时候整数限制在5位,小数限制在2位,不匹配自动替换成原来的值。
张运领 2013-12-13
  • 打赏
  • 举报
回复
你这个是要限制?还是说,要更改? 比如:如果整数部分不是5位的时候,就改成5位? 你的那个写法是可以限制的啊,如果不是5位,是不能匹配的,5位的匹配没有什么问题的。
thy442030800 2013-12-13
  • 打赏
  • 举报
回复
你是想在长度超出后取前5位? var str="-123456.123"; alert(str.replace(/^(-?)(?:(\d{5})\d*)(?:(\.\d{2})\d*)$/g,"$1$2$3")); //-12345.12

87,910

社区成员

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

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