jquery 폼 사용자 정의 검증 플러그인

119267 단어 jQuery
//     
var map = new Map();
map.put("*", /[\w\W]+/);
map.put("*6-16", /^[\w\W]{6,16}$/);
map.put("n", /^\d+$/);
map.put("n6-16", /^\d{6,16}$/);
map.put("s", /^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]+$/);
map.put("s6-16", /^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,16}$/);
map.put("p", /^[0-9]{6}$/);//  
map.put("m", /^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|18[0-9]{9}$/);//    
map.put("e", /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/);//email
map.put("url", /^(http|https):\/\/(\w+:\/\/)?\w+(\.\w+)+.*$/);//url  
map.put("image", /^(http|https):\/\/.*(.JPEG|.jpeg|.JPG|.jpg|.GIF|.gif|.BMP|.bmp|.PNG|.png)$/);//  
map.put("integer", /^[1-9]\d*$/);//  0    
map.put("hj", /(\S*?) [^>]*>.*?|<.>);//  html   javascript  


(function($,win){
    Validform = {
        matchReg : function(datatype){
            //           3              
            // 3                    
            var reg1 = /^\*\d{1,}-\d{1,}$/;
            var reg2 = /^n\d{1,}-\d{1,}$/;
            var reg3 = /^s\d{1,}-\d{1,}$/;
            if(reg1.test(datatype) || reg2.test(datatype) || reg3.test(datatype)){
                //              
                var index = datatype.indexOf("-");
                var nums =new Array();
                nums[0] = datatype.substring(1,index);
                nums[1] = datatype.substring(index+1,datatype.length);
                //    
                var reg;
                switch (datatype.substring(0,1)) {
                ///^[\w\W]{6,16}$/
                case "*": reg = new RegExp("^[\\w\\W]{"+nums[0]+","+nums[1]+"}$"); break;
                case "n": reg = new RegExp("^\\d{"+nums[0]+","+nums[1]+"}$"); break;
                case "s": reg = new RegExp("^[\\u4E00-\\u9FA5\\uf900-\\ufa2d\\w\\.\\s\\\\/]{"+nums[0]+","+nums[1]+"}$"); break;
                }
                return reg;
            }else{
                return map.get(datatype);
            }
        }
    }
})(jQuery,window);

    HaHaUtil = {
            checkFrom : function(formId){
                var form = $("#"+formId)[0];
                //         
                for(var i=0;iif(!HaHaUtil.resultCheck(form[i])){
                        return false;
                    }
                }
                return true;
            },
            resultCheck : function(obj){
                var tagName = obj.tagName;
                switch(tagName)
                {
                case "INPUT": 
                case "TEXTAREA": 
                    $item = $(obj);
                    var dataType = $item.attr("dataType");
                    //             
                    if(dataType == null){
                        return true;
                    }else{
                        //   dataType          |   
                        var reType = dataType.split("|");
                        //           
                        var f_value = $item.val();
                        if(f_value.indexOf(" ")!=-1){
                            //                           
                            $item.val($.trim(f_value));
                        }
                        var tipId = $item.attr("tipId");
                        $("#"+tipId).html("");

                        for(var i=0;i//         empty        
                            //            
                            if(reType[i] == "empty"){
                                if($item.val() == ""){
                                    //       
                                    return true;
                                    break;
                                }else{
                                    //    
                                    continue;
                                }

                            }
                            if($("."+tipId).is(":hidden")){
                                //           
                                continue;
                            }
                            //          
                            var reg = Validform.matchReg(reType[i]);
                            if(!reg.test($item.val())){
                                //     
                                 $("#"+tipId).html($item.attr("errormsg"));
                                 return false;
                                break;
                            }else{
                                 //          
                                 continue;
                            }
                        }
                        return true;
                    }
                    break;
                    //          false
                    default : return true;
                }

            }




}


Array.prototype.remove = function(s) {
        for (var i = 0; i < this.length; i++) {
            if (s == this[i])
                this.splice(i, 1);
        }
}

function Map() {
        /**       (    ) */
        this.keys = new Array();
        /**      */
        this.data = new Object();

        /**
         *        
         * @param {String} key
         * @param {Object} value
         */
        this.put = function(key, value) {
            if(this.data[key] == null){
                this.keys.push(key);
            }
            this.data[key] = value;
        };

        /**
         *         
         * @param {String} key
         * @return {Object} value
         */
        this.get = function(key) {
            return this.data[key];
        };

        /**
         *        
         * @param {String} key
         */
        this.remove = function(key) {
            this.keys.remove(key);
            this.data[key] = null;
        };

        /**
         *   Map,      
         * 
         * @param {Function}      function(key,value,index){..}
         */
        this.each = function(fn){
            if(typeof fn != 'function'){
                return;
            }
            var len = this.keys.length;
            for(var i=0;ivar k = this.keys[i];
                fn(k,this.data[k],i);
            }
        };

        /**
         *       (  Java entrySet())
         * @return     {key,value}   
         */
        this.entrys = function() {
            var len = this.keys.length;
            var entrys = new Array(len);
            for (var i = 0; i < len; i++) {
                entrys[i] = {
                    key : this.keys[i],
                    value : this.data[i]
                };
            }
            return entrys;
        };

        /**
         *   Map    
         */
        this.isEmpty = function() {
            return this.keys.length == 0;
        };

        /**
         *        
         */
        this.size = function(){
            return this.keys.length;
        };

        /**
         *   toString 
         */
        this.toString = function(){
            var s = "{";
            for(var i=0;i<this.keys.length;i++,s+=','){
                var k = this.keys[i];
                s += k+"="+this.data[k];
            }
            s+="}";
            return s;
        };
}   



이것은 js 플러그인으로 저장됩니다.js 인용하면 됩니다. 특징이 유연하여 검사 내용의 원리를 사용자 정의할 수 있습니다. 정규 표현식을 사용하고 숨겨진 폼에 대해서는 검사하지 않습니다.

"/common/taglibs.jsp"%>
"text/html;charset=UTF-8"%>
"UTF-8"%>

<html>
<head>
<title>    title>
<script type="text/javascript"
    src="/static/v0/scripts/commodity/common_functions.js">script>
<script type="text/javascript"
    src="/static/v0/scripts/commodity/check_data.js">script>
<script type="text/javascript"
    src="/static/v0/scripts/commodity/commodity_create.js">script>
<script type="text/javascript"
    src="/static/v0/scripts/jquery/jquery.form.js">script>
<script type="text/javascript"
    src="/static/v0/scripts/haha.js">script>
<script type="text/javascript"
    src="/static/v0/scripts/haha_upload.js">script>

<script type="text/javascript">
     j = 1; 
    $(function(){
        updateDiscountPercentage();          
        $("#btn_add2").click(function(){ 
            //var newNode='
'; //newNode +='
'; //newNode +='
'; //newNode +=''; //newNode +='
';
//$("#newUploadTd").append(newNode); var newNode2='
'">
'; newNode2+='

좋은 웹페이지 즐겨찾기