1;(function(global , Hnb){ 2 3 /** 4 * æ£æ¥èº«ä»½è¯å·ç 5 * yanwenqi å ¨çè´æ°å¢èº«ä»½è¯å· 6 * @param idCard 7 * @returns {Boolean} 8 */ 9 function check_idCard(idCard) { 10 idCard = $.trim(idCard.replace(/ /g, "")); //廿åç¬¦ä¸²å¤´å°¾ç©ºæ ¼ 11 if (idCard.length == 15) { 12 13 return isValidityBrithBy15IdCard(idCard); //è¿è¡15ä½èº«ä»½è¯çéªè¯ 14 } else if (idCard.length == 18) { 15 16 var a_idCard = idCard.split(""); // å¾å°èº«ä»½è¯æ°ç» 17 18 if (isValidityBrithBy18IdCard(idCard) && isTrueValidateCodeBy18IdCard(a_idCard)) { //è¿è¡18ä½èº«ä»½è¯çåºæ¬éªè¯å第18ä½çéªè¯ 19 20 return true; 21 } else { 22 23 return false; 24 } 25 } else { 26 27 return isValidityGAT(idCard); 28 } 29 } 30 31 /** 32 * å¤æèº«ä»½è¯å·ç 为18使¶æåçéªè¯ä½æ¯å¦æ£ç¡® 33 * @param a_idCard 身份è¯å·ç æ°ç» 34 * @return 35 */ 36 function isTrueValidateCodeBy18IdCard(a_idCard) { 37 var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1]; // å æå å 38 var ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2]; // 身份è¯éªè¯ä½å¼.10代表X 39 var sum = 0; // 声æå ææ±ååé 40 if (a_idCard[17].toLowerCase() == 'x') { 41 a_idCard[17] = 10; // å°æåä½ä¸ºxçéªè¯ç æ¿æ¢ä¸º10æ¹ä¾¿åç»æä½ 42 } 43 44 for (var i = 0; i < 17; i++) { 45 sum += Wi[i] * a_idCard[i]; // å ææ±å 46 } 47 48 valCodePosition = sum % 11; // å¾å°éªè¯ç æä½ç½® 49 50 if (a_idCard[17] == ValideCode[valCodePosition]) { 51 52 return true; 53 } else { 54 55 return false; 56 } 57 } 58 /** 59 * éªè¯18使°èº«ä»½è¯å·ç ä¸ççæ¥æ¯å¦æ¯ææçæ¥ 60 * @param idCard 18ä½ä¹¦èº«ä»½è¯å符串 61 * @return 62 */ 63 function isValidityBrithBy18IdCard(idCard18) { 64 65 var year = idCard18.substring(6, 10); 66 var month = idCard18.substring(10, 12); 67 var day = idCard18.substring(12, 14); 68 var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day)); 69 // è¿éç¨getFullYear()è·å年份ï¼é¿å åå¹´è«é®é¢ 70 if (temp_date.getFullYear() != parseFloat(year) 71 || temp_date.getMonth() != parseFloat(month) - 1 72 || temp_date.getDate() != parseFloat(day)) { 73 74 return false; 75 } else { 76 77 return true; 78 } 79 } 80 /** 81 * éªè¯15使°èº«ä»½è¯å·ç ä¸ççæ¥æ¯å¦æ¯ææçæ¥ 82 * @param idCard15 15ä½ä¹¦èº«ä»½è¯å符串 83 * @return 84 */ 85 function isValidityBrithBy15IdCard(idCard15) { 86 var year = idCard15.substring(6, 8); 87 var month = idCard15.substring(8, 10); 88 var day = idCard15.substring(10, 12); 89 var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day)); 90 // 对äºè身份è¯ä¸çä½ å¹´é¾åä¸éèèåå¹´è«é®é¢è使ç¨getYear()æ¹æ³ 91 if (temp_date.getYear() != parseFloat(year) 92 || temp_date.getMonth() != parseFloat(month) - 1 93 || temp_date.getDate() != parseFloat(day)) { 94 return false; 95 } else { 96 return true; 97 } 98 } 99 100 /* 101 * 港澳å°èº«ä»½è¯æ ¡éª 102 */ 103 function isValidityGAT(idCard){ 104 var hkRule = /[A-Z]{1,2}[0-9]{6}([0-9A])/; 105 var moRule = /[157][0-9]{6}([0-9])/; 106 var twRule = /[A-Z][0-9]{9}/; 107 if(hkRule.test(idCard) || moRule.test(idCard) || twRule.test(idCard)){ 108 return true; 109 }else{ 110 return false; 111 } 112 } 113 114 Hnb.common = { 115 getUrlParam: function(key , url) 116 { 117 var reg = RegExp("(\\?|#|&)" + key + "=([^&#]*)(&|#|$)"); 118 url = url || location.href; 119 var arr_temp = url.match(reg); 120 return arr_temp && arr_temp.length >= 2 ? arr_temp[2] : ""; 121 }, 122 filterXss: function(str_text) 123 { 124 return str_text.replace(/</g, "<").replace(/>/g, ">").replace(/\"/g, """).replace(/\'/g, "'") 125 }, 126 one: function(func) 127 { 128 var isTrue = false; 129 return function(){ 130 if(isTrue) 131 { 132 return this; 133 } 134 isTrue = true; 135 return func.apply(this , Array.prototype.slice.call(arguments, 0)); 136 } 137 }, 138 ajaxPost: function(url , json_param) 139 { 140 var defer = $.Deferred(); 141 $.ajax({ 142 url: url, 143 data: json_param, 144 type: 'POST', 145 dataType: 'json', 146 xhrFields: { 147 withCredentials: true 148 }, 149 success: function(json_msg) 150 { 151 defer.resolve(json_msg); 152 }, 153 error: function(error) 154 { 155 defer.resolve({ 156 state: 200302 , 157 data: 'æ ç½ç»ï¼è¯·ç¨åéè¯' 158 });
159 } 160 }); 161 return defer; 162 }, 163 handleRemoteData: function($defer , $successMsg , $errMsg) 164 { 165 var defer = $.Deferred(); 166 $successMsg = $successMsg || "æåï¼"; 167 $errMsg = $errMsg || "失败!"; 168 $defer.done(function(json_msg){ 169 if(json_Msg.state) { 170 var dataType = typeof json_msg.data; 171 if(dataType.toLowerCase() == "string" && json_msg.data) 172 { 173 Hnb.ui.showMessage(json_msg.data); 174 } else { 175 Hnb.ui.showMessage($errMsg); 176 } 177 defer.reject(json_msg); 178 } else{ 179 Hnb.ui.showMessage($successMsg); 180 defer.resolve(json_msg); 181 } 182 }).fail(function(json_error){ 183 Hnb.ui.showMessage(json_error.data || $errMsg); 184 defer.reject(json_error); 185 }); 186 return defer; 187 }, 188 toJson: function(str_msg){ 189 var json_msg = null; 190 try{ 191 var json_msg = JSON.parse(str_msg); 192 }catch(e){ 193 } 194 return json_msg; 195 }, 196 formatDate: function(o_date , fmt){ 197 var o = { 198 "M+": o_date.getMonth() + 1, //æä»½ 199 "d+": o_date.getDate(), //æ¥ 200 "h+": o_date.getHours(), //å°æ¶ 201 "m+": o_date.getMinutes(), //å 202 "s+": o_date.getSeconds(), //ç§ 203 "q+": Math.floor((o_date.getMonth() + 3) / 3), //å£åº¦ 204 "S": o_date.getMilliseconds() //æ¯«ç§ 205 }; 206 if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (o_date.getFullYear() + "").substr(4 - RegExp.$1.length)); 207 for (var k in o) 208 if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); 209 return fmt; 210 }, 211 formatNumber: function(num){ 212 num = num - 0; 213 var str_num = Math.abs(num).toString(); 214 var arr_num = str_num.split("."); 215 var str_formatNum = ""; 216 217 var length = arr_num[0].length; 218 var extraLen = length % 3; 219 str_formatNum += arr_num[0].substr(0 , extraLen); 220 221 222 while(extraLen < length){ 223 str_formatNum += str_formatNum ? "," : ""; 224 str_formatNum += arr_num[0].substr(extraLen , 3); 225 extraLen += 3; 226 } 227 if(arr_num.length == 2){ 228 str_formatNum += "." + arr_num[1]; 229 } 230 if(num < 0){ 231 str_formatNum = "-" + str_formatNum; 232 } 233 return str_formatNum; 234 }, 235 checkCertId: function(idCard){ 236 return check_idCard(idCard); 237 }, 238 getBrowser:function(){ 239 var agent = navigator.userAgent.toLowerCase(), 240 opera = window.opera, 241 browser = { 242 ie : /(msie\s|trident.*rv:)([\w.]+)/.test(agent), 243 opera : ( !!opera && opera.version ), 244 webkit : ( agent.indexOf( ' applewebkit/' ) > -1 ), 245 mac : ( agent.indexOf( 'macintosh' ) > -1 ), 246 quirks : ( document.compatMode == 'BackCompat' ) 247 }; 248 browser.gecko =( navigator.product == 'Gecko' && !browser.webkit && !browser.opera && !browser.ie); 249 var version = 0; 250 if ( browser.ie ){ 251 var v1 = agent.match(/(?:msie\s([\w.]+))/); 252 var v2 = agent.match(/(?:trident.*rv:([\w.]+))/); 253 if(v1 && v2 && v1[1] && v2[1]){ 254 version = Math.max(v1[1]*1,v2[1]*1); 255 }else if(v1 && v1[1]){ 256 version = v1[1]*1; 257 }else if(v2 && v2[1]){ 258 version = v2[1]*1; 259 }else{ 260 version = 0; 261 } 262 browser.ie11Compat = document.documentMode == 11; 263 browser.ie9Compat = document.documentMode == 9; 264 browser.ie8 = !!document.documentMode; 265 browser.ie8Compat = document.documentMode == 8; 266 browser.ie7Compat = ( ( version == 7 && !document.documentMode ) 267 || document.documentMode == 7 ); 268 browser.ie6Compat = ( version < 7 || browser.quirks ); 269 browser.ie9above = version > 8; 270 browser.ie9below = version < 9; 271 browser.ie11above = version > 10; 272 browser.ie11below = version < 11; 273 } 274 // Gecko. 275 if ( browser.gecko ){ 276 var geckoRelease = agent.match( /rv:([\d\.]+)/ ); 277 if ( geckoRelease ) 278 { 279 geckoRelease = geckoRelease[1].split( '.' ); 280 version = geckoRelease[0] * 10000 + ( geckoRelease[1] || 0 ) * 100 + ( geckoRelease[2] || 0 ) * 1; 281 } 282 } 283 if (/chrome\/(\d+\.\d)/i.test(agent)) { 284 browser.chrome = + RegExp['\x241']; 285 } 286 if(/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(agent) && !/chrome/i.test(agent)){ 287 browser.safari = + (RegExp['\x241'] || RegExp['\x242']); 288 } 289 // Opera 9.50+ 290 if ( browser.opera ) 291 version = parseFloat( opera.version() ); 292 // WebKit 522+ (Safari 3+) 293 if ( browser.webkit ) 294 version = parseFloat( agent.match( / applewebkit\/(\d+)/ )[1] ); 295 /** 296 * @property { Number } version æ£æµå½åæµè§å¨çæ¬å· 297 * @remind 298 * <ul> 299 * <li>IEç³»åè¿åå¼ä¸º5,6,7,8,9,10ç</li> 300 * <li>geckoç³»åä¼è¿å10900ï¼158900ç</li> 301 * <li>webkitç³»åä¼è¿åå ¶buildå· (å¦ 522ç)</li> 302 * </ul> 303 * @example 304 * ```javascript 305 * console.log( 'å½åæµè§å¨çæ¬å·æ¯ï¼ ' + UE.browser.version ); 306 * ``` 307 */ 308 browser.version = version; 309 browser.isCompatible = 310 !browser.mobile && ( 311 ( browser.ie && version >= 6 ) || 312 ( browser.gecko && version >= 10801 ) || 313 ( browser.opera && version >= 9.5 ) || 314 ( browser.air && version >= 1 ) || 315 ( browser.webkit && version >= 522 ) || 316 false ); 317 return browser; 318 } 319 } 320})(window , Hnb);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.