jQuery添加自定义扩展

1、validate.js

//使用extend定义全局函数
$.extend({
    isUserName: function (value) {
        return new RegExp("/^[A-Za-z0-9\-\_\u4e00-\u9fa5]{2,20}$/").test(value)
    },
    isPassword: function (value) {
        return /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%^&*?]{8,16}$/.test(value);
    },
    isPassword1: function (value) {
        return new RegExp("(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%^&*?]{8,16}$").test(value);
    },
    isEmail: function (value) {
        return new RegExp("^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$").test(value)
    },
    isDigits: function (value, required) {
        if (required == undefined || required == false) {
            return new RegExp(/^\d+$/).test(value);
        } else {
            if (value.trim().length > 0) {
                return new RegExp(/^\d+$/).test(value);
            } else {
                return "请输入数字";
            }
        }
    },
    isPhone: function (value) {
        //regexp_mobile = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0-9]|17[0-9])\d{8}$/;  
        return new RegExp("^0?(13|15|18|14)[0-9]{9}$").test(value)
    },
    //加
    add: function (a, b) {
        var c, d, e;
        try {
            c = a.toString().split(".")[1].length;
        } catch (f) {
            c = 0;
        }
        try {
            d = b.toString().split(".")[1].length;
        } catch (f) {
            d = 0;
        }
        return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
    },
    //减
    sub: function (a, b) {
        var c, d, e;
        try {
            c = a.toString().split(".")[1].length;
        } catch (f) {
            c = 0;
        }
        try {
            d = b.toString().split(".")[1].length;
        } catch (f) {
            d = 0;
        }
        return e = Math.pow(10, Math.max(c, d)), (mul(a, e) - mul(b, e)) / e;
    },
    //乘
    mul: function (a, b) {
        var c = 0,
            d = a.toString(),
            e = b.toString();
        try {
            c += d.split(".")[1].length;
        } catch (f) { }
        try {
            c += e.split(".")[1].length;
        } catch (f) { }
        return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
    },
    //除
    division: function (a, b) {
        var c, d, e = 0,
            f = 0;
        try {
            e = a.toString().split(".")[1].length;
        } catch (g) { }
        try {
            f = b.toString().split(".")[1].length;
        } catch (g) { }
        return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), this.mul(c / d, Math.pow(10, f - e));
    }
});

2、validateObject.js

(function($){
   $.fn.extend({          
       alertWhileClick:function() {            
             $(this).click(function(){                 
                    alert($(this).val());           
              });           
        }       
   });

   $.fn.isDigits = function () {
      return new RegExp(/^\d+$/).test($(this).val());
   }
})(jQuery)

3、html页面引入validate.js文件

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="jquery-3.2.1.min.js"></script>
    <script type="text/javascript" src="validate.js"></script>
    <!--<script type="text/javascript" src="validateObject.js"></script>-->
</head>

<body>
    <input id="txtUserName" type="text" value="" />
    <input id="btnLogin" type="button" value="请登录" />


    <!--调用validate.js文件-->
    <script type="text/javascript">
        $("#btnLogin").click(function (event) {
            var name = $("#txtUserName").val();

            ///“普通”验证方法
            //if (name.trim().length > 0 && /^\d+$/.test(name) == false) {
            //    alert("数量必须是数字");
            //}else{
            //    alert("格式正确");
            //}

            ///“非必填”验证调用方法
            //if (name.trim().length > 0 && $.isDigits(name) == false) {
            //    alert("数量必须是数字");
            //    return;
            //} else {
            //    alert("格式正确");
            //}

            ///“必填”验证调用方法
            var result = $.isDigits(name, true);
            if (result == true || result == false) {
                if (result) {
                    alert("格式正确");
                } else if (!result) {
                    alert("数量必须是数字");
                }
            } else {
                alert(result);
            }

            var money1 = parseFloat($('#txtMoney').val()).toFixed(2); //输出:string 类型
            var money2 = +parseFloat($('#txtMoney').val()).toFixed(2);//输出:number 类型
            var money3 = $.mul($('#txtMoney').val(), 100);            //输出:number 类型

            console.log("aaa:" + typeof (money1) + ";" + money1);     //输出:string 类型
            console.log("bbb:" + typeof (money2) + ";" + money2);     //输出:number 类型
            console.log("ccc:" + typeof (money3) + ";" + money3);     //输出:number 类型
        })
    </script>


    <!--调用validateObject.js文件-->
    <script type="text/javascript">
        //$("#txtUserName").alertWhileClick();

        //$("#btnLogin").click(function (event) {
        //    var name = $("#txtUserName").val();
        //    if (name.trim().length > 0 && $("#txtUserName").isDigits() == false) {
        //        alert("数量必须是数字");
        //        return;
        //    } else {
        //        alert("格式正确");
        //    }
        //});
    </script>
</body>
</html>

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值