<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 一些簡單規則 ~~~javascript numeric: [/^[0-9]*$/, '請填寫數值'], money: [/^(?:0|[1-9]\d*)(?:\.\d{1,2})?$/, "請填寫有效的金額"], ip: [/^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$/i, '請填寫有效的 IP 地址'], ~~~ ## 相同 name 的字段至少填寫一個 ~~~javascript requiredOne: function(element) { return !!this.$el.find('input[name="' + element.name + '"]').filter(function() { return !this.disabled && this.value; }).length; } ~~~ ## 身份證 ~~~javascript // 身份證 idcard: function(element) { var value = element.value, isValid = true; var cityCode = {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:"國外 "}; /* 15位校驗規則: (dddddd yymmdd xx g) g奇數為男,偶數為女 * 18位校驗規則: (dddddd yyyymmdd xxx p) xxx奇數為男,偶數為女,p校驗位 校驗位公式:C17 = C[ MOD( ∑(Ci*Wi), 11) ] i----表示號碼字符從由至左包括校驗碼在內的位置序號 Wi 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 1 Ci 1 0 X 9 8 7 6 5 4 3 2 */ var rFormat =/^\d{6}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$|^\d{6}\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}$/; // 格式驗證 if ( !rFormat.test(value) || !cityCode[value.substr(0,2)] ) { isValid = false; } // 18位身份證需要驗證最后一位校驗位 else if (value.length === 18) { var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ]; // 加權因子 var Ci = "10X98765432"; // 校驗字符 // 加權求和 var sum = 0; for (var i = 0; i < 17; i++) { sum += value.charAt(i) * Wi[i]; } // 計算校驗值 var C17 = Ci.charAt(sum % 11); // 與校驗位比對 if ( C17 !== value.charAt(17) ) { isValid =false; } } return isValid || "請填寫正確的身份證號碼"; } ~~~ ## 銀行卡(借記卡、貸記卡) ~~~javascript bankcard: function(element) { var value = element.value.replace(/\s/g, ''), isValid = true, rFormat = /^[\d]{12,19}$/; if ( !rFormat.test(value) ) { isValid = false; } else { var arr = value.split('').reverse(), i = arr.length, temp, sum = 0; while ( i-- ) { if ( i%2 === 0 ) { sum += +arr[i]; } else { temp = +arr[i] * 2; sum += temp % 10; if ( temp > 9 ) sum += 1; } } if ( sum % 10 !== 0 ) { isValid = false; } } return isValid || "請填寫有效的銀行卡號"; } ~~~ ## 信用卡 **規則**:`creditcard(type1, type2, ... typen)` **參數**:卡類型(不傳參則支持全部類型) 支持的卡類型:visa, mastercard, amex, dinersclub, enroute, discover, jcb, unknown ~~~javascript creditcard: function(element, params) { var value = element.value, validTypes = 0x0000, types = { mastercard: 0x0001, visa: 0x0002, amex: 0x0004, dinersclub: 0x0008, enroute: 0x0010, discover: 0x0020, jcb: 0x0040, unknown: 0x0080 }; if (/[^0-9\-]+/.test(value)) { return false; } value = value.replace(/\D/g, ""); if ( !params ) { validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080; } else { for (var i=0; i<parmas.length; i++) { validTypes |= types[params[i]]; } } if (validTypes & 0x0001 && /^(5[12345])/.test(value)) { //mastercard return value.length === 16; } if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa return value.length === 16; } if (validTypes & 0x0004 && /^(3[47])/.test(value)) { //amex return value.length === 15; } if (validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test(value)) { //dinersclub return value.length === 14; } if (validTypes & 0x0010 && /^(2(014|149))/.test(value)) { //enroute return value.length === 15; } if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover return value.length === 16; } if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb return value.length === 16; } if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb return value.length === 15; } if (validTypes & 0x0080) { //unknown return true; } return "請填寫有效的信用卡號"; } ~~~ ## 組織機構代碼證 ~~~javascript // 組織機構代碼證 orgcode: function(element) { var value = element.value, isValid = true, rFormat = /^[A-Z\d]{8}-[X\d]/; if (!rFormat.test(value)) { isValid = false; } else { var Wi = [3,7,9,10,5,8,4,2]; var Ci = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 加權求和 var sum = 0; for(var i = 0; i < 8; i++){ sum += Ci.indexOf( value.charAt(i) ) * Wi[i]; } // 計算校驗值: C9 = 11 - MOD ( ∑(Ci*Wi), 11 ) var C9 = 11 - (sum % 11); if (C9===10) C9 = 'X'; else if (C9===11) C9 = 0; C9 = ''+C9; // 與校驗位比對 if ( C9 !== value.charAt(9)) { isValid = false; } } return isValid || "請填寫正確的組織機構代碼"; } ~~~ ## 營業執照號 (工商注冊號) ~~~javascript // 營業執照號 bizcode: function(element) { var value = element.value, isValid = true, rFormat = /^[1-6]\d{14}$/; // 共15位:6位首次登記機關代碼 + 8位順序碼 + 校驗位 if (!rFormat.test(value)) { isValid = false; } else { var s = [], p = [10]; for (var i=0; i<15; i++) { s[i] = ( p[i] % 11 ) + (+value.charAt(i)); p[i+1] = (s[i] % 10 || 10) * 2; } if (1 !== s[14] % 10) { isValid = false; } } return isValid || "請填寫正確的營業執照號"; } ~~~ ## 統一社會信用代碼(三碼合一) ~~~javascript // 統一社會信用代碼 unicode: function(element) { var value = element.value.replace(/^\s*|\s*$/g, ''), isValid = true, rFormat = /^[1-9A-GV][1239][1-9]\d{5}[A-Z\d]{8}[X\d][Y\d]/; if (!rFormat.test(value)) { isValid = false; } else { var code, Wi, Ci, sum, C9, C18; // 計算組織機構代碼校驗位:C9 = 11 - MOD ( ∑(Ci*Wi), 11 ) code = value.slice(9,17); Wi = [3,7,9,10,5,8,4,2]; Ci = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 加權求和 sum = 0; for(var i = 0; i < Wi.length; i++){ sum += Ci.indexOf( code.charAt(i) ) * Wi[i]; } C9 = 11 - (sum % 11); if (C9===10) C9 = 'X'; else if (C9===11) C9 = 0; C9 = ''+C9; // 與校驗位比對 if ( C9 !== code.charAt(9)) { isValid = false; } if (isValid) { // 計算最后校驗位:C18 = 31 - MOD ( ∑(Ci*Wi), 31 ) code = value.slice(0,17); Wi = [1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28]; Ci = "0123456789ABCDEFGHJKLMNPQRTUWXY"; // 加權求和 sum = 0; for(var i = 0; i < Wi.length; i++){ sum += Ci.indexOf( code.charAt(i) ) * Wi[i]; } C18 = 31 - (sum % 31); if (C18===30) C18 = 'Y'; else if (C18===31) C18 = 0; C18 = ''+C18; // 與校驗位比對 if ( C18 !== code.charAt(18)) { isValid = false; } } } return isValid || "請填寫正確的統一社會信用代碼"; } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看