input框只能输入整数和浮点数非数字就不输入

/ 笔记 / 无站内评论 / 271浏览

代码如下:

<input type="text" onInput="clearNoNum(this)"  >
//需引入jquery
<script>
    function clearNoNum(obj){
        //先把非数字的都替换掉,除了数字和.
        obj.value = obj.value.replace(/[^\d.]/g,"");
        //必须保证第一个为数字而不是.
        obj.value = obj.value.replace(/^\./g,"");
        //保证只有出现一个.而没有多个.
        obj.value = obj.value.replace(/\.{2,}/g,".");
        //保证.只出现一次,而不能出现两次以上
        obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
        //保证 数字整数位不大于8位
        if(100000000<=parseFloat(obj.value))
            obj.value = "";
    }
</script>
召唤蕾姆
琼ICP备18000156号

鄂公网安备 42011502000211号