自己写的通用文本验证

/*
**通用文本验证Jquery版 
**Create by jeffwang
**2011-06-17
**说明:此版本基于Jquery编写,要预先引入Jquery库文件
**可在自定义页面上重写 ValidateAlert ValidateAlertAll 两个提示方法
**参数说明:
1.buttonID:发起页面验证的按钮ID; 多按钮可以用";"分割
2.lostFocus:是否在控件失去焦点时发起验证 (true:是,false:否)
3.FaultCss:控件中信息发生错误时切换的Css 如果没有则可以给""值
**使用说明:
1.在页面的onload事件中初始化 验证对象 例:$(function () { var iva = new InputValidate(buttonID = "button1", lostFocus = false, FaultCss = ""); })
2.给页面上待验证的控件标记属性regex,多条验证规则以";"分割,格式为【验证规则:错误提示信息;验证规则:提示错误信息...】 例:<input type="text" regex="mustinput:必须输入邮箱;email:邮箱格式不正确" id="email"/>
3.时间比较验证格式 checkData:id1*id2,wrongMessage; 例 <input id="OnboardDate"  regex="checkData:OnboardDate*ContractEnd,合同结束日期必须大于入职日期;"  type="text" />
4.比较两个控件的值 compareValue:id1*id2,wrongMessage;例 <input id="RePassword"  regex="compareValue:Password*RePassword,两次密码必须一致;"  type="text" />
5.最小长度:minLength:minLength,wrongMessage 例 <input id="RePassword" minLength:6,密码不能少于6个字符; type="text" />
验证规则标记说明: 
email:验证邮箱
url:验证网址
postnumber:验证邮编
area:验证区号
money:验证货币
cess:验证税率
card:身份证号
date:验证时间
mobile:验证手机
tel:验证电话号码
mustint:验证是正整数
mustinput:必填
checkData:时间比较
mustNumber:限制文本框必须填入数字  
*/




/*验证器构造函数*/
function InputValidate() {
    //验证发起的按钮ID
    var buttonID;
    //是否在焦点失去时验证
    var lostFocus = true;
    //验证控件错误时切换的Class名称
    var FaultCss;
    this.Init();
}
InputValidate.prototype.Init = function () {
    var faultCss = FaultCss;
    var inputcontrols = $("[regex]");
    $.each(inputcontrols, function (index, Value) {
        var inputid = $(Value).attr("id");
        var Rules = $(Value).attr("regex").split(";");
        $.each(Rules, function (i, Value) {
            if (Value != "") {
                var ruleArry = Value.split(":");
                switch (ruleArry[0]) {
                    //邮箱                                                                                                                                                                     
                    case "email":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (isEmail($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "") {
                                            $(this).addClass(faultCss);
                                        }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        $(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //网址                                                                                                                                                                     
                    case "url":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (isURL2($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        $(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //邮编                                                                                                                                                                     
                    case "postnumber":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (isRightPostCode($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        $(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //区号                                                                                                                                                                     
                    case "area":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (area($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //货币                                                                                                                                                                     
                    case "money":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (isMoney($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //税率                                                                                                                                                                    
                    case "cess":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (isCess($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //身份证号                                                                                                                                                                    
                    case "card":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (isIdCard($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //时间大小校验                                                                                               
                    case "checkData":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                var idstart = (ruleArry[1].split(",")[0]).split("*")[0];
                                var idend = (ruleArry[1].split(",")[0]).split("*")[1];
                                if (CheckDate(idstart, idend)) {
                                    if (faultCss != "") {
                                        $("#" + inputid).removeClass(faultCss);


                                    }
                                    SetRight(inputid);
                                }
                                else {
                                    if (faultCss != "") {
                                        $("#" + inputid).addClass(faultCss);


                                    }
                                    ValidateAlert(ruleArry[1].split(",")[1], inputid);
                                    //$(this).focus();
                                    //event.returnValue = false;
                                    return false;
                                }
                            });
                        }
                        break;
                    //比较两个控件的值                                                                                                
                    case "compareValue":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                var id1 = (ruleArry[1].split(",")[0]).split("*")[0];
                                var id2 = (ruleArry[1].split(",")[0]).split("*")[1];
                                if (CompareValue(id1, id2)) {
                                    if (faultCss != "") {
                                        $("#" + inputid).removeClass(faultCss);


                                    }
                                    SetRight(inputid);
                                }
                                else {
                                    if (faultCss != "") {
                                        $("#" + inputid).addClass(faultCss);


                                    }
                                    ValidateAlert(ruleArry[1].split(",")[1], inputid);
                                    //$(this).focus();
                                    //event.returnValue = false;
                                    return false;
                                }
                            });
                        }
                        break;
                    //时间                                                                                                                                                                    
                    case "date":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (IsDateString($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //手机                                                                                                                                                                   
                    case "mobile":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (isMobile($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //电话号码                                                                                                                                                                   
                    case "tel":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (isTel($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //整形                                                                                                                                                                    
                    case "mustint":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (IsInteger($(this).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1], inputid); ;
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //最小长度                                                                                                                                                                  
                    case "minLength":
                        var minLength = ruleArry[1].split(",")[0];
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (IsMinLength($(this).val(), minLength)) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1].split(",")[1], inputid);
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //最大长度                                                                                                                                                                    
                    case "maxLength":
                        var maxLength = ruleArry[1].split(",")[0];
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($(this).val() != "") {
                                    if (IsMaxLength($(this).val(), maxLength)) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $(this).addClass(faultCss); }
                                        ValidateAlert(ruleArry[1].split(",")[1], inputid);
                                        //$(this).focus();
                                        //event.returnValue = false;
                                        return false;
                                    }
                                }
                            });
                        }
                        break;
                    //必填                                                                                                                                                                    
                    case "mustinput":
                        if (lostFocus) {
                            $("#" + inputid).bind("blur", function () {
                                if ($.trim($(this).val()) != "") {
                                    if (faultCss != "") {
                                        $(this).removeClass(faultCss);
                                    }
                                    SetRight(inputid);
                                }
                                else {
                                    if (faultCss != "")
                                    { $(this).addClass(faultCss); }
                                    ValidateAlert(ruleArry[1], inputid); ;
                                    //$(this).focus();
                                    //event.returnValue = false;
                                    return false;
                                }
                            });
                        }
                        break;
                    //必须输入数字                                                                                                                                                                     
                    case "mustNumber":
                        $("#" + inputid).bind("keypress", MustNumber);
                        break;
                    //必须输入字母                                                                                                                                                                      
                    case "mustLetter":
                        $("#" + inputid).bind("keypress", MustLetter);
                        break;
                    default:
                        break;
                }
            }
        })


    });
    /*
    绑定验证按钮
    */
    var buttonIds = buttonID.split(";")
    $.each(buttonIds, function (index, Value) {
        if (Value == "") { return; }
        $("#" + Value).bind("click", function () {
            inputcontrols = $("[regex]");
            var wrongMessage = "";
            $.each(inputcontrols, function (index, Value) {
                var inputid = $(Value).attr("id");
                var Rules = $(Value).attr("regex").split(";");
                $.each(Rules, function (i, Value) {
                    if (Value != "") {
                        var ruleArry = Value.split(":");
                        switch (ruleArry[0]) {
                            //邮箱                                                                                                                                                                            
                            case "email":
                                if ($("#" + inputid).val() != "") {
                                    if (isEmail($("#" + inputid).val())) {
                                        if (faultCss != "") { $(this).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";




                                    }
                                }
                                break;
                            //网址                                                                                                                                                                            
                            case "url":
                                if ($("#" + inputid).val() != "") {
                                    if (isURL2($("#" + inputid).val())) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }


                                }
                                break;
                            //邮编                                                                                                                                                                            
                            case "postnumber":
                                if ($(this).val() != "") {
                                    if (isRightPostCode($("#" + inputid).val())) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }


                                }
                                break;
                            //区号                                                                                                                                                                            
                            case "area":
                                if ($("#" + inputid).val() != "") {
                                    if (area($("#" + inputid).val())) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }
                                }
                                break;
                            //货币                                                                                                                                                                            
                            case "money":
                                if ($("#" + inputid).val() != "") {
                                    if (isMoney($("#" + inputid).val())) {
                                        if (faultCss != "") {
                                            $("#" + inputid).removeClass(faultCss);
                                            SetRight(inputid);


                                        }
                                    }
                                    else {
                                        if (faultCss != "") {
                                            $("#" + inputid).addClass(faultCss);
                                        }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }


                                }
                                break;
                            //税率                                                                                                                                                                           
                            case "cess":
                                if ($("#" + inputid).val() != "") {
                                    if (isCess($("#" + inputid).val())) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }


                                }
                                break;
                            //身份证号                                                                                                                                                                           
                            case "card":
                                if ($("#" + inputid).val() != "") {
                                    if (isIdCard($("#" + inputid).val())) {
                                        if (faultCss != "") {
                                            $("#" + inputid).removeClass(faultCss);
                                        }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "") {


                                            $("#" + inputid).addClass(faultCss);
                                        }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }


                                }
                                break;
                            //时间                                                                                                                                                                           
                            case "date":
                                if ($("#" + inputid).val() != "") {
                                    if (IsDateString($("#" + inputid).val())) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }


                                }
                                break;
                            //手机                                                                                                                                                                          
                            case "mobile":
                                if ($("#" + inputid).val() != "") {
                                    if (isMobile($("#" + inputid).val())) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }
                                }
                                break;
                            //电话号码                                                                                                                                                                             
                            case "tel":
                                if ($("#" + inputid).val() != "") {
                                    if (isTel($("#" + inputid).val())) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }
                                }
                                break;
                            //正整数                                                                                                                                                                           
                            case "mustint":
                                if ($("#" + inputid).val() != "") {
                                    if (IsInteger($("#" + inputid).val())) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1] + "," + inputid + ";";
                                    }
                                }
                                break;
                            //必填                                                                                                                                                                           
                            case "mustinput":
                                if ($.trim($("#" + inputid).val()) != "") {


                                    if (faultCss != "") {
                                        $("#" + inputid).removeClass(faultCss);
                                    }
                                    SetRight(inputid);
                                }
                                else {


                                    if (faultCss != "") {
                                        $("#" + inputid).addClass(faultCss);


                                    }
                                    wrongMessage += ruleArry[1] + "," + inputid + ";";
                                }
                                break;


                            //最小长度                                                                                                                                                                             
                            case "minLength":
                                var minLength = ruleArry[1].split(",")[0];


                                if ($("#" + inputid).val() != "") {
                                    if (IsMinLength($("#" + inputid).val(), minLength)) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1].split(",")[1] + "," + inputid + ";";
                                    }
                                }
                                break;
                            //最大长度                                                                                                                                                                               
                            case "maxLength":
                                var maxLength = ruleArry[1].split(",")[0];


                                if ($("#" + inputid).val() != "") {
                                    if (IsMaxLength($("#" + inputid).val(), maxLength)) {
                                        if (faultCss != "") { $("#" + inputid).removeClass(faultCss); }
                                        SetRight(inputid);
                                    }
                                    else {
                                        if (faultCss != "")
                                        { $("#" + inputid).addClass(faultCss); }
                                        wrongMessage += ruleArry[1].split(",")[1] + "," + inputid + ";";
                                    }
                                }
                                break;




                            //时间比较                                                                                                                                                                            
                            case "checkData":
                                var idstart = (ruleArry[1].split(",")[0]).split("*")[0];
                                var idend = (ruleArry[1].split(",")[0]).split("*")[1];
                                if (CheckDate(idstart, idend)) {
                                    if (faultCss != "") {
                                        $("#" + inputid).removeClass(faultCss);
                                    }
                                    SetRight(inputid);
                                }
                                else {
                                    if (faultCss != "") {
                                        $("#" + inputid).addClass(faultCss);
                                    }
                                    wrongMessage += ruleArry[1].split(",")[1] + "," + inputid + ";"
                                }
                                break;
                            //比较两个控件的值                                                                                                                                                                             
                            case "compareValue":
                                var id1 = (ruleArry[1].split(",")[0]).split("*")[0];
                                var id2 = (ruleArry[1].split(",")[0]).split("*")[1];
                                if (CompareValue(id1, id2)) {
                                    if (faultCss != "") {
                                        $("#" + inputid).removeClass(faultCss);
                                    }
                                    SetRight(inputid);
                                }
                                else {
                                    if (faultCss != "") {
                                        $("#" + inputid).addClass(faultCss);
                                    }
                                    wrongMessage += ruleArry[1].split(",")[1] + "," + inputid + ";";
                                }
                                break;
                            default:
                                break;
                        }
                    }
                })


            });
            if ($.trim(wrongMessage) != "") {
                ValidateAlertAll(wrongMessage);
                return false;
            }
        });
    });




}






//验证邮箱
function isEmail(src) {
    // var emailPat = /^(.+)@(.+)$/;
    var emailPat = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
    var matchArray = src.match(emailPat);
    if (matchArray == null) {
        return false;
    }
    return true;
}


//验证网址 
function isURL(str_url) {
    var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
  + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@  
        + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184  
        + "|" // 允许IP和DOMAIN(域名) 
        + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.  
        + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名  
        + "[a-z]{2,6})" // first level domain- .com or .museum  
        + "(:[0-9]{1,4})?" // 端口- :80  
        + "((/?)|" // a slash isn't required if there is no file name  
        + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
    var re = new RegExp(strRegex);
    //re.test()         
    if (re.test(str_url)) {
        //        alert("正确");
        return (true);
    } else {
        //        alert("错误");  
        return (false);
    }
}
//第二种验证表达式"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"
function isURL2(str_url) {
    //var strRegex = "^http://(([a-zA-z0-9]|-){1,}\\.){1,}[a-zA-z0-9]{1,}-*"; 
    var strRegex = "^http://(www\.){0,1}.+\.(com|net|cn)$";
    var strRegex2 = "^https://(www\.){0,1}.+\.(com|net|cn)$";
    var re = new RegExp(strRegex);
    var re2 = new RegExp(strRegex2);
    //re.test()         
    if (re.test(str_url) || re2.test(str_url)) {
        //        alert("正确");
        return (true);
    } else {
        //        alert("错误");  
        return (false);
    }
}
//验证区号
function area(src) {
    var phoneAreaNum = /^\d{3,4}$/;
    if (re.test(src)) {
        return true;
    }
    else {
        return false;
    }
}
//这个是判断输入的是否为货币值 最多小数点后4位
function isMoney(src) {
    isMoneys = /^-?\d+\.{0,}\d{0,}$/;
    if (isMoneys.test(src.replace(/,/g, ""))) {
        return true;
    }
}






//这个是判断输入的是税率 最多小数点后2位
function isCess(src) {
    isMoneys = /^\-[0-9]+\.[0-9]{0,2}$/;
    if (isMoneys.test(src)) {
        return true;
    }
}
//这个是判断输入的是否是整数    
function isCount(src) {
    isMoney = /^[0-9]\d*$/;
    if (isMoney.test(src)) {
        return true;
    }
    else {
        return false;
    }
}
//验证时间输入格式    
function IsDateString(sDate) {
    var iaMonthDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    var iaDate = new Array(3)
    var year, month, day


    if (arguments.length != 1) return false
    iaDate = sDate.toString().split("-")
    if (iaDate.length != 3) return false
    if (iaDate[1].length > 2 || iaDate[2].length > 2) return false


    year = parseFloat(iaDate[0])
    month = parseFloat(iaDate[1])
    day = parseFloat(iaDate[2])


    if (year < 1900 || year > 2100) return false
    if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1] = 29;
    if (month < 1 || month > 12) return false
    if (day < 1 || day > iaMonthDays[month - 1]) return false
    return true
}


function IsDatetime(startTime, endTime) {
    var ass, aD, aS;
    var bss, bD, bS;
    var begin = startTime; //起始时间;
    var over = endTime;      //终止时间; 
    ass = begin.split("-");         //以"-"分割字符串,返回数组;
    aD = new Date(ass[0], ass[1], ass[2]);   //格式化为Date对像;
    aS = aD.getTime(); //得到从 1970 年 1 月 1 日开始计算到 Date 对象中的时间之间的毫秒数
    bss = over.split("-");
    bD = new Date(bss[0], bss[1], bss[2]);
    bS = bD.getTime();
    if (aS > bS) {
        return false;
    }
    else {
        return true;
    }
}
//-------------------------
function regInput(obj, reg, inputStr) {
    var docSel = document.selection.createRange()
    if (docSel.parentElement().tagName != "INPUT") return false
    oSel = docSel.duplicate()
    oSel.text = ""
    var srcRange = obj.createTextRange()
    oSel.setEndPoint("StartToStart", srcRange)
    var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
    return reg.test(str)
}


//验证邮编
function isRightPostCode(str1) {
    var sun = str1;
    var pattern = /^[0-9]{6}$/;
    if (pattern.test(sun) == false) {
        return false;
    }
    else {
        return true;
    }
}


//验证身份证号
function isIdCard(idcard) {
    idcard = idcard.toUpperCase();
    var Errors = new Array(
"验证通过!",
"身份证号码位数不对!",
"身份证号码出生日期超出范围或含有非法字符!",
"身份证号码校验错误!",
"身份证地区非法!"
);
    var area = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" }


    var idcard, Y, JYM;
    var S, M;
    var idcard_array = new Array();
    idcard_array = idcard.split("");
    //地区检验
    if (area[parseInt(idcard.substr(0, 2))] == null) {
        //alert(Errors[4]);
        return false;
    }
    //身份号码位数及格式检验
    switch (idcard.length) {
        case 15:
            if ((parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0 || ((parseInt(idcard.substr(6, 2)) + 1900) % 100 == 0 && (parseInt(idcard.substr(6, 2)) + 1900) % 4 == 0)) {
                ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //测试出生日期的合法性
            } else {
                ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //测试出生日期的合法性
            }
            if (ereg.test(idcard)) return true;
            else {
                //alert(Errors[2]);
                return false;
            }
            break;
        case 18:
            //18位身份号码检测
            //出生日期的合法性检查 
            //闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
            //平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
            if (parseInt(idcard.substr(6, 4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
                ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式
            } else {
                ereg = /^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式
            }
            if (ereg.test(idcard)) {//测试出生日期的合法性
                //计算校验位
                S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7
+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9
+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10
+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5
+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8
+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4
+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2
+ parseInt(idcard_array[7]) * 1
+ parseInt(idcard_array[8]) * 6
+ parseInt(idcard_array[9]) * 3;
                Y = S % 11;
                M = "F";
                JYM = "10X98765432";
                M = JYM.substr(Y, 1); //判断校验位
                if (M == idcard_array[17]) return true; //检测ID的校验位
                else {
                    //alert(Errors[3]);
                    return false;
                }
            }
            else {
                //alert(Errors[2]);
                return false;
            }
            break;
        default:
            //alert(Errors[1]);
            return false;
            break;
    }
}
//验证手机号
function isMobile(infor) {
    var reg = /^0*(13|15)\d{9}$/;
    if (reg.test(infor)) {
        return true;
    }
}
//验证电话
function isTel(tel) {
    var str = tel;
    var Expression = /^\d+(\.\d+)?$/;
    var objExp = new RegExp(Expression);
    if (objExp.test(str) == true) {
        return true;
    } else {
        return false;
    }
}
//必须输入数字
function MustNumber()
{ if (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 46)) { event.returnValue = true; } else { event.returnValue = false; } }


//必须输入字母


function MustLetter() {
    if (((event.keyCode >= 65) && (event.keyCode <= 90)) || (event.keyCode == 46)) { event.returnValue = true; } else { event.returnValue = false; }
}


//比较时间
function CheckDate(bdate, edate) {
    var bvalue = document.getElementById(bdate).value;
    var evalue = document.getElementById(edate).value;
    if (bvalue != null && bvalue != "undefind" && evalue != null && evalue != "undefind") {
        if (bvalue.length > 9 && evalue.length > 9) {
            var bvalus = bvalue.split("-");
            var evalus = evalue.split("-");
            var d1 = new Date(bvalus[0], bvalus[1], bvalus[2]);
            var d2 = new Date(evalus[0], evalus[1], evalus[2]);
            if (Date.parse(d1) - Date.parse(d2) >= 0) {
                //alert("开始时间应该大于结束时间");
                return false;
            }
            else {
                return true;
            }
        }
    }
    else {
        return true;
    }
}


//验证是否为正整数
function IsInteger(value) {
    var re = /^[0-9]+[0-9]*]*$/;    //判断字符串是否为数字      //判断正整数 /^[1-9]+[0-9]*]*$/   
    if (!re.test(value)) {
        return false;
    }
    return true;
}


//验证最小长度
function IsMinLength(value, minlength) {


    var datalength = DataLength(value);
    if (datalength >= minlength) {
        return true;
    }
    else {
        return false;
    }
}


//验证最大长度
function IsMaxLength(value, maxlength) {


    var datalength = DataLength(value);
    if (datalength <= maxlength) {
        return true;
    }
    else {
        return false;
    }
}


//比较两个控件的值
function CompareValue(id1, id2) {
    if ($("#" + id1).val() == $("#" + id2).val()) {
        return true;
    }
    else {
        return false;
    }




}




//提示验证信息 可在自定也页面上重写该方法
function ValidateAlert(message, id) {
    alert(message);
}


//提示所有验证信息 可在自定也页面上重写该方法
function ValidateAlertAll(message) {
    var alertInfo = "";
    $.each(message.split(";"), function (index, Value) {
        if (Value != "") {
            alertInfo += Value.split(",")[0] + "\n";
        }


    })
    alert(alertInfo);
}


//正确回调函数 可重写
function SetRight(inputid) {
    return;
}


//判断是否是汉字
function isHz(s, i) {
    if (s.charCodeAt(i) < 255) return false;
    else return true;
}


//判断是否为字节长度
function DataLength(fData) {
    var intLength = 0
    for (var i = 0; i < fData.length; i++) {
        if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))
            intLength = intLength + 2
        else
            intLength = intLength + 1
    }
    return intLength
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值