js限制輸入框只能輸入正數或浮點數


比較簡單,記錄下

<input type="text" onkeyup="onlyNumber(this);"/>

function onlyNumber(obj){
        //得到第一個字符是否為負號
        var t = obj.value.charAt(0);
        //先把非數字的都替換掉,除了數字和.
        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('$#$','.');
        //如果第一位是負號,則允許添加
        if(t == '-'){
            obj.value = '-'+obj.value;
        }
    };

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM