zoukankan      html  css  js  c++  java
  • 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+).(dd).*$/, '$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+).(dd).*$/, '$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+).(dd).*$/, '$1$2.$3');
        }
    </script>
    </head>
    <body>
        <input type="text" autocomplete="off" id="mitxt_jzjy_matchamt" onkeyup="clearNoNum2(this)" />
    </body>
    </html>
  • 相关阅读:
    继承人人前端笔试题
    【转】ASP.NET应用程序生命周期趣谈
    C#中正则表达式的高级应用
    使用C#导入导出数据到Excel
    Server.Transfer详细解释
    防止刷新重复post提交
    程序只运行一次的方法
    注释很全的抽象工厂(没用简单工厂优化)
    利用反射动态调用类成员C#
    编程经历的一些思考
  • 原文地址:https://www.cnblogs.com/carlo/p/10288318.html
Copyright © 2011-2022 走看看