国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

表單 驗(yàn)證 函數(shù)

luck / 1300人閱讀

摘要:驗(yàn)證示意代碼設(shè)備編碼長度為的編碼目錄信息設(shè)備編碼屬性的主要寫法包括必填必填,正確的經(jīng)度在中已經(jīng)定義必須為整數(shù)必填,最大長度英文,中文必填,最小長度英文,中文主要的組件代碼不能為空必須為整數(shù)不是合法的數(shù)字不是合法

(驗(yàn)證)html 示意代碼
*

ui-validate 屬性的主要寫法包括:

ui-validate="required"  //必填

ui-validate="{pattern: "required,longitude"}"  //必填 ,正確的經(jīng)度 (longitude 在validatePatterns中已經(jīng)定義)

ui-validate="{pattern: "integer"}" //必須為整數(shù)

ui-validate="{pattern:"required", maxlength:50}" // 必填,最大長度 50(英文1,中文2)

ui-validate="{pattern:"required", minlength:50}" // 必填,最小長度 50(英文1,中文2)
主要的組件html

js 代碼
var validatePatterns = { 
        "required":     [/^[S+s*S+]+$/ig, "不能為空!"],
        "integer":      [/^(0|[1-9][0-9]*)$/, "必須為整數(shù)!"],    
        "numeric":      [/^d+(.d+)?$/, "不是合法的數(shù)字!"],
        "currency":     [/^d+.d{1,2}$/, "不是合法的貨幣數(shù)字!"],
        "email":        [/^w+@w+(.w+)*$/, "不合法的email輸入!"],
        "phone":        [/^((0d{2,3})-)?(d{7,8})(-(d{3,}))?$/, "電話不合法!"],
        "mustChecked":  [/0+/g, "checkbox不能為空!"],
        "mustSelected": [/0+/g, "select不能為空!"],
        "ipAddress":    [/^([1-9]|[1-9]d|1d{2}|2[0-1]d|22[0-3])(.(d|[1-9]d|1d{2}|2[0-4]d|25[0-5])){3}$/, "不是有效的IP地址!"],
        "netport":      [/^([0-9]|[1-9]d|[1-9]d{2}|[1-9]d{3}|[1-5]d{4}|6[0-4]d{3}|65[0-4]d{2}|655[0-2]d|6553[0-5])$/, "不合法的端口!"],
        "mac":          [/^[0-9,a-f,A-F]{2}[-][0-9,a-f,A-F]{2}[-][0-9,a-f,A-F]{2}[-][0-9,a-f,A-F]{2}[-][0-9,a-f,A-F]{2}[-][0-9,a-f,A-F]{2}$/, "不合法的mac地址!"], 
        "year":         [/^(d{4})$/, "年份不合法!"],
        "mouth":        [/^(d{4})-(0d{1}|1[0-2])$/, "月份不合法!"],
        "date":         [/^ht5zn5v{4}-bzrvl5d{2}-7fzbt5t{2}$/, "日期不合法!"],
        "timeHour":        [/^(0d{1}|1d{1}|2[0-3])$/, "小時不合法!"],  //HH
        "timeMinute":    [/^(0d{1}|1d{1}|2[0-3]):([0-5]d{1})$/, "分鐘不合法!"], //HH:mm
        "timeSeconds":  [/^(0d{1}|1d{1}|2[0-3]):[0-5]d{1}:([0-5]d{1})$/, "時間不合法!"], //HH:mm:ss
        "chineseOnly":    [/[^u4E00-u9FA5]/g, "輸入不合法!請只輸入中文!"],
        "mobilePhone":  [/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/, "手機(jī)號不合法!"],
        //"unicomPhone":  [/^13[0-4]{1}[d]{8}$/, "不合法!"],
        //"telecomPhone": [/^(d{7,8})|(d{3,4}-d{7,8})$/, "不合法!"],
        "specials":     [/^[^`~!@#$%^&*()+=|][]{}:;",.<>?]{1}[^`~!@$%^&+=][{}:;",<>?]{0,}$/, "不能輸入特殊字符!"],
        "pattern":      [null, "數(shù)據(jù)不合法!請確認(rèn)"],
        "carCode":      [/^[u4e00-u9fa5]{1}[A-Z]{1}[A-Z_0-9]{5}$/, "車牌號格式不正確"],
        "idCard":       [/(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/, "身份證號格式不正確"],
        "postcode":     [/^d{6}$/, "郵編格式不正確"],
        "longitude":    [/^-?((180(.0{0,6})?)|((d{1,2}|1[0-7]d)(.d{0,6})?))$/, "不是有效的經(jīng)度!"],
        "latitude":     [/^-?((90(.0{0,6})?)|((d|[1-8]d)(.d{0,6})?))$/, "不是有效的緯度!"],
        "digitOrLetter":[/^[A-Za-z0-9]*$/,"格式不正確(只支持?jǐn)?shù)字或字母)"],
        "passport":        [/^(Pd{7})|(Gd{8})$/,"護(hù)照格式不正確"],
        "hk-passport":    [/^[a-zA-Z0-9]{5,21}$/,"港澳通行證格式不正確"],
        "driving":        [/^[a-zA-Z0-9]{3,21}$/,"駕照格式不正確"]
    };

/**
     * 表單驗(yàn)證
     * ui-validate 屬性, minlength, maxlength,min (最小值),max (最大值)
     * 如果不需要驗(yàn)證隱藏項(xiàng),flag需要傳遞值,默認(rèn)不傳值,兼容適用于tab頁面切換的情況
     */
    this.validateForm = function($form,flag){
        
        var checkAll = true;
        $form.find("[ui-validate]").each(function(){
            if(flag){
                if($(this).is(":hidden")){
                    return ;
                }
            }
            var validate = $(this).attr("ui-validate");
            
            var pattern = $(this).attr("ui-pattern");
            
            var objectReg = new RegExp(/{.*}/g);
            
            var name = $(this).attr("name");
            
            var vtext = $(this).attr("ui-vtext");
            
            var type = $(this).attr("type") || $(this)[0].tagName;
            
            if(vtext == undefined || vtext == null || vtext == ""){
                vtext = name;
            }
            
            var value = $.trim(getFormValue($(this)));

            function getPattern(p){
                var reg = null;
                p = $.trim(p);
                if(p == "pattern") {
                    reg = [eval("/" + pattern + "/i"), validatePatterns["pattern"][1] ];
                } else {
                    reg = validatePatterns[p];  
                }
                if(reg == null) {

                    var msg = "[" + vtext + "]驗(yàn)證Pattern配置錯誤:" + p;
                    UI.util.alert(msg, "warn");

                    throw new Error(msg);
                }
                return reg;
            }
            
            var pats = null;
            var allPatterns = "";
            if(objectReg.test(validate)){
                validate = eval("(" + validate + ")");
                
                if(validate.min && !isNaN(validate.min) && value != ""){
                    if(value < validate.min){
                        UI.util.alert("[" + vtext + "]不能小于" + validate.min, "warn");
                        $(this).focus();
                        checkAll = false;
                        return false;
                    }
                }
                
                if(validate.max && !isNaN(validate.max) && value != ""){
                    if(value > validate.max){
                        UI.util.alert("[" + vtext + "]不能大于" + validate.max, "warn");
                        $(this).val(validate.max);
                        $(this).focus();
                        checkAll = false;
                        return false;
                    }
                }
                if(validate.minlength && !isNaN(validate.minlength) && value != ""){
                    if(value.length < validate.minlength){
                        UI.util.alert("[" + vtext + "]不能少于" + validate.minlength + "個字符!", "warn");
                        $(this).focus();
                        checkAll = false;
                        return false;
                    }
                }
                
                if(validate.maxlength && !isNaN(validate.maxlength) && value != ""){
                    //中文字符算兩個字符,英文和數(shù)字算一個字符
                    var len = value.length;
                    var blen = 0; 
                    for(i=0; i validate.maxlength){
                        UI.util.alert("[" + vtext + "]不能超過" + validate.maxlength + "個字符!", "warn");
                        $(this).focus();
                        checkAll = false;
                        return false;
                    }
                }
                
                if(validate.pattern){
                    pats = validate.pattern.split(",");
                }
                
                allPatterns = validate.pattern;
            } else {
                pats = validate.split(",");
                
                allPatterns = validate;
            }
            
            if(allPatterns != null && allPatterns.indexOf("required") >= 0 || value != "") {
                if(pats != null){
                    for(var i = 0; i < pats.length; i++){
                        
                        var reg = getPattern(pats[i]);
                        if(!value.match(reg[0]) || (value.match(reg[0])==-1) && type =="SELECT"){
                            var vinfo = $(this).attr("ui-vinfo");
                            if(vinfo == undefined || vinfo == null || vinfo == ""){
                                vinfo = "[" + vtext + "]" + reg[1];
                            }
                            UI.util.alert(vinfo, "warn");
                            checkAll = false;
                            return false;
                        }
                    }
                }
            }
            
        });
        
        return checkAll;
    }
使用方式
if (!UI.util.validateForm($(".dataForm"))) {
            return;
  }  
(獲取)html 代碼
*
函數(shù)代碼
this.formToBean = function($form){

        var bean = {};
        
        var checkedValue = 1;
         
        $form.find("input, select, textarea, .ui-rating, .ui-switch, .dropdown-tree, .filtertag")
        .each(function(){
            if($(this).is("[ui-ignore]")){
                return ;
            }
            var name = $(this).attr("name");
            var type = $(this).attr("type") || $(this)[0].tagName;
            
            if(type == "button" || type == "reset" || type == "submit"){
                return ;
            }

            var value = getFormValue($(this));
            
            if(value != null){
                if(typeof value == "string"){
                    value = $.trim(value);
                }
                if(type == "checkbox"){
                    if(bean[name] == undefined){
                        bean[name] = value;
                    } else {
                        bean[name] += "," + value;
                    }
                } else {
                    bean[name] = value;
                }
            }
        });

        return bean;
    }


function getFormValue($elem){
        var type = $elem.attr("type") || $elem[0].tagName;
        
        if(type == "radio"){
            if($elem.is(":checked")){
                return $elem.val();
            }
        } else if(type == "checkbox"){
            if($elem.is(":checked")){
                return $elem.val();
            }
        } else if(type == "ui-rating") {
            return $elem.rating("getValue");
            
        } else if(type == "ui-switch") {
            return $elem.uiswitch("getValue");
            
        } else if(type == "dropdown-tree") {
            return $elem.find(".tree-title").attr("title");
            //return $elem.dropdowntree("getSelectIds");
        } else if(type == "filtertag") {
            return $elem.filtertag("getSelectFilter");
            
        } else if( type == "SELECT" || type == "select"){
            var value = $elem.val();
            
            if( Object.prototype.toString.call(value).toLowerCase() == "[object array]"){

                var value = value.join(",");
            }
            return value;
            
        }else {
            return $elem.val();
        }
        return null;
    }
調(diào)用方法
var params = UI.util.formToBean($(".form-inline"));
得到的值
{
    SBMC:value
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/89118.html

相關(guān)文章

  • 實(shí)用的表單驗(yàn)證插件--jquery Validation

    摘要:默認(rèn)值原生的表單提交類型表單驗(yàn)證通過后提交表單的回調(diào)函數(shù)。使用去控制這個組的驗(yàn)證信息被放置的位置。例子禁用對焦驗(yàn)證。他的回調(diào)函數(shù)被傳入兩個參數(shù)類型元素這個元素是當(dāng)前正在被驗(yàn)證的,是一個元素。此函數(shù)的上下午為驗(yàn)證對象本身。 Validation文檔翻譯 前言 Validation作為表單驗(yàn)證中最常用的插件,為我在開發(fā)過程中提供了很多便利的地方。雖然說我很常用,但是我真的不敢說我會用Val...

    eccozhou 評論0 收藏0
  • python大佬養(yǎng)成計(jì)劃----flask應(yīng)用(表單)

    摘要:特別是可以訪問請求提交的表單數(shù)據(jù)。表單的代碼生成和驗(yàn)證提交的表單數(shù)據(jù)就是兩個很好的例子。優(yōu)勢擴(kuò)展使得處理表單能獲得更愉快的體驗(yàn)。設(shè)計(jì)了表單庫來使可以更加簡便地管理操作表單數(shù)據(jù)。 1. 為什么使用Flask-WTF? request對象公開了所有客戶端發(fā)送的請求信息。特別是request.form可以訪問POST請求提交的表單數(shù)據(jù)。 盡管Flask的request對象提供的支持足以處理w...

    alighters 評論0 收藏0
  • Flask Web Development —— Web表單(上)

    摘要:每個表單域都可以連接到一個或多個是一個用于檢查用戶提交的輸入是否合法的函數(shù)。表單域構(gòu)造函數(shù)的第一個參數(shù)是一個,在渲染表單到時會使用。驗(yàn)證確保提交的表單域不為空。表單域驗(yàn)證都是直接從包中導(dǎo)入。表格展示了一組支持的標(biāo)準(zhǔn)表單域。 第二章中介紹的request對象公開了所有客戶端發(fā)送的請求信息。特別是request.form可以訪問POST請求提交的表單數(shù)據(jù)。 盡管Flask的request...

    CODING 評論0 收藏0
  • 【譯】WTForms 2 中文入門教程(速成課程)

    摘要:你打了個響指然后開始致力于你想寫的棒極了的網(wǎng)絡(luò)應(yīng)用程序你寫完一些頁面最后你需要著手處理令人討厭的任務(wù)處理和驗(yàn)證表單輸入進(jìn)入開始但是為什么我需要另一個框架呢好吧一些網(wǎng)絡(luò)應(yīng)用程序框架采用數(shù)據(jù)庫模型和表單處理相結(jié)合的方法同時這對很基本的創(chuàng)建更新視 你打了個響指, 然后開始致力于你想寫的棒極了的 Python 網(wǎng)絡(luò)應(yīng)用程序. 你寫完一些頁面, 最后你需要著手處理令人討厭的任務(wù):處理和驗(yàn)證表單輸...

    enda 評論0 收藏0
  • JavaScript 設(shè)計(jì)模式系列 - 策略模式與動態(tài)表單驗(yàn)證

    摘要:策略模式又稱政策模式,其定義一系列的算法,把它們一個個封裝起來,并且使它們可以互相替換。的表單具有表單驗(yàn)證功能,用來校驗(yàn)用戶輸入的表單內(nèi)容。實(shí)際需求中表單驗(yàn)證項(xiàng)一般會比較復(fù)雜,所以需要給每個表單項(xiàng)增加自定義校驗(yàn)方法。 showImg(https://segmentfault.com/img/remote/1460000020135990); 策略模式 (Strategy Pattern...

    宋華 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<