Jquery对文本框的值、字符串的验证;正则表达式字符串的验证

时间:2023-03-09 20:00:32
Jquery对文本框的值、字符串的验证;正则表达式字符串的验证

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="Js/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        (function ($) {
            $.extend({
                /***
                *验证是否为 手机号码 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsMobileTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsMobileTextVal(valStr);
                    if (!result) { //判断返回值 是否为手机号
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 手机号码 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsMobileTextVal: function (valStr) {
                    if (valStr && /^1[3|4|5|7|8]\d{9}$/.test(valStr)) { //判断是否为手机号            
                        return true;
                    } else {  //不是手机号
                        return false;
                    }
                },
                /***
                *验证是否为 座机 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsPhoneTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsPhoneTextVal(valStr);
                    if (!result) { //判断返回值 是否为手机号
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 座机 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsPhoneTextVal: function (valStr) {
                    if (valStr && /^(\d{3,4}-?)?\d{7,9}$/.test(valStr)) { //判断是否为手机号            
                        return true;
                    } else {  //不是手机号
                        return false;
                    }
                },
                /***
                *验证是否为Email 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsEmailTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsEmailTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为Email 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsEmailTextVal: function (valStr) {
                    if (valStr && /^([a-zA-Z0-9_\.\-+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                },
                /***
                *验证是否为 正整数 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsPositiveIntTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsPositiveIntTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 正整数 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsPositiveIntTextVal: function (valStr) {
                    if (valStr && /^[0-9]*[1-9][0-9]*$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                },
                /***
                *验证是否为 数字 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsNumberTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsNumberTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 数字 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsNumberTextVal: function (valStr) {
                    if (valStr && /^[-\+]?\d+$/.test(valStr) || /^[-\+]?\d+(\.\d+)?$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                },
                /***
                *验证是否为 浮点数 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsFloatTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsFloatTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 浮点数 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsFloatTextVal: function (valStr) {
                    if (valStr && /^[-\+]?\d+(\.\d+)?$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                },
                /***
                *验证是否为 邮政编码验证 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsZipCodeTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsZipCodeTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 邮政编码验证 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsZipCodeTextVal: function (valStr) {
                    if (valStr && /^[0-9]{6}$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                },
                /***
                *验证是否为 身份证号码验证 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsIdCardNoTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsIdCardNoTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 身份证号码验证 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsIdCardNoTextVal: function (valStr) {
                    var len = valStr.length, re;
                    if (len == 15)
                        re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{2})(\w)$/);
                    else if (len == 18)
                        re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/);
                    else {
                        //alert("输入的数字位数不对。");
                        return false;
                    }
                    var a = valStr.match(re);
                    if (a != null) {
                        if (len == 15) {
                            var D = new Date("19" + a[3] + "/" + a[4] + "/" + a[5]);
                            var B = D.getYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
                        }
                        else {
                            var D = new Date(a[3] + "/" + a[4] + "/" + a[5]);
                            var B = D.getFullYear() == a[3] && (D.getMonth() + 1) == a[4] && D.getDate() == a[5];
                        }
                        if (!B) {
                            //alert("输入的身份证号 "+ a[0] +" 里出生日期不对。");
                            return false;
                        }
                    }
                    if (!re.test(valStr)) {
                        //alert("身份证最后一位只能是数字和字母。");
                        return false;
                    }
                    return true;
                },
                /***
                *验证是否为 IP地址验证 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsIpAddressTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsIpAddressTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 IP地址验证 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsIpAddressTextVal: function (valStr) {
                    if (valStr && /^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                },
                /***
                *验证是否为 匹配密码,只能是字母、数字和下划线。 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsPasswordTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsPasswordTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 匹配密码,只能是字母、数字和下划线。 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsPasswordTextVal: function (valStr) {
                    if (valStr && /^[\w]{6,12}$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                },
                /***
                *验证是否为 车牌号校验  是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsPlateNoTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsPlateNoTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 车牌号校验 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsPlateNoTextVal: function (valStr) {
                    if (valStr && /^[\u4e00-\u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                },
                /***
                *验证是否为 QQ校验 是返回true ,否则返回 false
                *参数 :$textId: 文本框id
                */
                IsQQTextId: function ($textId) {
                    var $obj = $("#" + $textId); //存储当前文本框对象
                    var valStr = $obj.val(); //或者文本框的值
                    var result = $.IsQQTextVal(valStr);
                    if (!result) { //判断返回值 是否为正确
                        $obj.focus(); //获得光标
                    }
                    return result;
                },
                /***
                *验证是否为 QQ校验 是返回true ,否则返回 false
                *参数 :valStr : 文本框的值
                */
                IsQQTextVal: function (valStr) {
                    if (valStr && /^[1-9]\d{4,12}$/.test(valStr)) { //判断是否为正确           
                        return true;
                    } else {  //不正确
                        return false;
                    }
                }

});
        })(jQuery);

$(function () {
            $("#Validate").click(function () {
                var result = "";
                //result= $.IsMobileTextId("moblie");
                //result = $.IsPhoneTextId("Phone");
                //result = $.IsEmailTextVal("Email");
                //result = $.IsPositiveIntTextId("int_1");
                //result = $.IsNumberTextId("Number");
                // result = $.IsFloatTextId("Float");
                // result = $.IsZipCodeTextId("ZipCode");
                //result = $.IsIdCardNoTextId("IdCardNo");
                //result = $.IsIpAddressTextId("IpAddress");
                result = $.IsPasswordTextId("Password");
                //result = $.IsPlateNoTextId("PlateNo");
                //result = $.IsQQTextId("QQ");
                alert(result);
            });
        });
    </script>
</head>
<body>
    手机号码:<input id="moblie" type="text" /><br />
    座机:<input id="Phone" type="text" /><br />
    Email:<input id="Email" type="text" /><br />
    正整数:<input id="int_1" type="text" /><br />
    数字:<input id="Number" type="text" /><br />
    浮点数:<input id="Float" type="text" /><br />
    邮政编码:<input id="ZipCode" type="text" /><br />
    省份证号码验证:<input id="IdCardNo" type="text" /><br />
    ip地址:<input id="IpAddress" type="text" /><br />
    匹配密码,只能是字母、数字和下划线:<input id="Password" type="text" /><br />
    车牌号校验:<input id="PlateNo" type="text" /><br />
    QQ:<input id="QQ" type="text" /><br />
    <input type="submit" id="Validate" />
</body>
</html>