JQuery의 사용자 정의 양식 유효성 검사 사용 방법

4780 단어 htmljqueryjsWebjsp
프로젝트를 할 때 종종 페이지의 값을 검증해야 하는 경우가 있는데 이 검증은 자주 사용하는 것이 아니라 자신이 정의한 규칙으로 검증해야 한다.이렇게 하면 jquery의 사용자 정의 검증 방법을 사용할 수 있습니다.
 
다음은 사용자 정의 검증의 기본 형식에 대해 말씀드리겠습니다.
 
<script type="text/javascript">
        jQuery.validator.addMethod("regex",  //addMethod 1   :    
        function(value, element, params) {     //addMethod 2   :    ,  (       ,     ,  )
            var exp = new RegExp(params);     //       ,           
            return exp.test(value);                    //      
        },
        "    ");    //addMethod 3   :      
        $(function() {
            $("#signupForm").validate(

            {
            rules: {
                txtPassword1: "required",  //  1  

                txtPassword2: {    //  2     1       
                    required: true,  //  ,           
                    equalTo: "#txtPassword1",  //     1  
                    rangelength: [5, 10],    //  5-10  
                    regex: "^\\w+$"          //          ,         
                },

                txtEmail: "email"   //        
            },
            messages: {
                txtPassword1: "     ",

                txtPassword2: {
                    required: "     ",
                    equalTo: "     ",
                    rangelength: "      {0}   {1}       ",
                    regex: "       、      "
                }
            },
            debug: false,  //     true       
            submitHandler: function() {
                alert("     ");
            }
        });
    });
    </script>

 
 
 
다음은 사용자 정의 검증을 정리하는 방법입니다.
 
//       
jQuery.validator.addMethod("mobile", function(value, element) {
    var length = value.length;
    var mobile =  /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/
    return this.optional(element) || (length == 11 && mobile.test(value));
}, "        ");  

//         
jQuery.validator.addMethod("phone", function(value, element) {
    var tel = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
    return this.optional(element) || (tel.test(value));
}, "        ");

//         
jQuery.validator.addMethod("zipCode", function(value, element) {
    var tel = /^[0-9]{6}$/;
    return this.optional(element) || (tel.test(value));
}, "        ");

// QQ      
jQuery.validator.addMethod("qq", function(value, element) {
    var tel = /^[1-9]\d{4,9}$/;
    return this.optional(element) || (tel.test(value));
}, "qq      ");

// IP    
jQuery.validator.addMethod("ip", function(value, element) {
    var ip = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
    return this.optional(element) || (ip.test(value) && (RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256));
}, "Ip      ");

//         
jQuery.validator.addMethod("chrnum", function(value, element) {
    var chrnum = /^([a-zA-Z0-9]+)$/;
    return this.optional(element) || (chrnum.test(value));
}, "         (  A-Z, a-z, 0-9)");

//      
jQuery.validator.addMethod("chinese", function(value, element) {
    var chinese = /^[\u4e00-\u9fa5]+$/;
    return this.optional(element) || (chinese.test(value));
}, "      ");

//      
$.validator.addMethod("selectNone", function(value, element) {
    return value == "   ";
}, "      ");

//       
jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
    var length = value.length;
    for (var i = 0; i < value.length; i++) {
        if (value.charCodeAt(i) > 127) {
            length++;
        }
    }
    return this.optional(element) || (length >= param[0] && length <= param[1]);
}, $.validator.format("        {0}-{1}     (      2   )"));

 
모두가 함께 공부할 수 있도록 제공하다.
 
전재자: http://blog.csdn.net/chenxuejiakaren/article/details/7498123

좋은 웹페이지 즐겨찾기