JS中文本框中只准許輸入正確的整數、負數,保留2位小數

//校驗扣分值輸入是否正確
    function formatNumber(obj) {
        obj.value = obj.value.replace(/[^\d+.-]/g, ""); //清除"數字"、"."、"+"、"-"號以外的字符
        obj.value = obj.value.replace(/^\./g, ""); //驗證第一個字符是.字
        //obj.value = obj.value.replace(/^[0]/g, "");//驗證第一個字符是0字
        obj.value = obj.value.replace(/00/g, "0"); //驗證第一個是多個0(只保留第一個0, 清除多餘的0)
        obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一個".", 清除多餘的
        obj.value = obj.value.replace(/\-{2,}/g, "-"); //只保留第一個"-", 清除多餘的
        obj.value = obj.value.replace(/\+{2,}/g, "+"); //只保留第一個"+", 清除多餘的
        obj.value = obj.value.replace(/\+\-/g, "+"); //只保留第一個"+", 清除多餘的"-"
        obj.value = obj.value.replace(/\-\+/g, "-"); //只保留第一個"-", 清除多餘的"+"
        obj.value = obj.value.replace(/[0-9]+\+/g, ""); //數字後面不准許輸入"+"
        obj.value = obj.value.replace(/[0-9]+\-/g, ""); //數字後面不准許輸入"-"
        obj.value = obj.value.replace(/\.[0-9]*\+/g, "."); //去除"."號後面的"+"
        obj.value = obj.value.replace(/\.[0-9]*\-/g, "."); //去除"."號後面的"-"
        obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
        obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能輸入兩個小數
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章