js正則表達式——數字校驗


// 只能輸入正數
    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("$#$",".");
        // 只能輸入小數點后兩位
        obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".").replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
    }

// 可正數可負數
    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("$#$","."); // 只保留第一個“.”,清除多余的“.”
        obj.value = obj.value.replace(/\-{2,}/g,"-"); // 當存在連續的多個“-”時,只保留一個
        obj.value = obj.value.replace("-","$#$").replace(/\-/g,"").replace("$#$","-"); // 只保留第一個“-”,清除多余的“-”
        if (!(/^\-/.test(obj.value))) { // 如果行首不是“-”,則不允許有“-”
            obj.value = obj.value.replace("-","");
        }
        // 只能輸入小數點后兩位
        obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
    }

使用方法

<html>
<head>
<script type="text/javascript">
    function clearNoNum2(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("$#$","."); // 只保留第一個“.”,清除多余的“.”
        obj.value = obj.value.replace(/\-{2,}/g,"-"); // 當存在連續的多個“-”時,只保留一個
        obj.value = obj.value.replace("-","$#$").replace(/\-/g,"").replace("$#$","-"); // 只保留第一個“-”,清除多余的“-”
        if (!(/^\-/.test(obj.value))) { // 如果行首不是“-”,則不允許有“-”
            obj.value = obj.value.replace("-","");
        }
        // 只能輸入小數點后兩位
        obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
    }
</script>
</head>
<body>
    <input type="text" autocomplete="off" id="mitxt_jzjy_matchamt" onkeyup="clearNoNum2(this)" />
</body>
</html>

 


免責聲明!

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



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