标签:合并 form this rar 内置浏览器 cWeb config obj dom
export default { // 两个对象合并 extend: function(target, source, deep) { target = target || {}; var sType = typeof source, i = 1, options; if (sType === ‘undefined‘ || sType === ‘boolean‘) { deep = sType === ‘boolean‘ ? source : false; source = target; target = this; } if ( typeof source !== ‘object‘ && Object.prototype.toString.call(source) !== ‘[object Function]‘ ) { source = {}; } else i = 2; while (i <= 2) { options = i === 1 ? target : source; if (options != null) { for (var name in options) { var src = target[name], copy = options[name]; if (target === copy) { continue; } if (deep && copy && typeof copy === ‘object‘ && !copy.nodeType) { target[name] = this.extend( src || (copy.length != null ? [] : {}), copy, deep ); } else if (copy !== undefined) { target[name] = copy; } } } i++; } return target; }, /** * 格式化日期 * * @author Siah * * @param date * @param format * @return 格式化过的日期 如 2020-01-01 */ formatDate(date, format) { // 控制时区 if (!date) { return ‘空‘; } if (date.indexOf(‘.‘) > -1) { date = date.substr(0, date.indexOf(‘.‘)); } var tempDate = new Date(date + ‘+0800‘); if (tempDate === ‘Invalid Date‘) { date = date.replace(/T/g, ‘ ‘); date = date.replace(/-/g, ‘/‘); tempDate = new Date(date + ‘+0800‘); } tempDate.toLocaleDateString(); if (!format) format = ‘yyyyMMddHHmmss‘; // 格式化时间 var year = tempDate.getFullYear(); var months = (tempDate.getMonth() > 8 ? ‘‘ : ‘0‘) + (tempDate.getMonth() + 1); var days = (tempDate.getDate() > 9 ? ‘‘ : ‘0‘) + tempDate.getDate(); var hours = (tempDate.getHours() > 9 ? ‘‘ : ‘0‘) + tempDate.getHours(); var minutes = (tempDate.getMinutes() > 9 ? ‘‘ : ‘0‘) + tempDate.getMinutes(); var secounds = (tempDate.getSeconds() > 9 ? ‘‘ : ‘0‘) + tempDate.getSeconds(); format = format.replace(/yyyy/, year); format = format.replace(/MM/, months); format = format.replace(/dd/, days); format = format.replace(/HH/, hours); format = format.replace(/mm/, minutes); format = format.replace(/ss/, secounds); return format; }, // 返回一个全地址 resolveUrl(url) { var a = document.createElement(‘a‘); a.href = url; return a.href; }, //* ************************************************ //* * //* cookie * //* * //* ************************************************ addcookie(name, value, expireHours) { var cookieString = name + ‘=‘ + escape(value); // 判断是否设置过期时间 expireHours = expireHours || 10000; var date = new Date(); date.setTime(date.getTime() + expireHours * 3600 * 1000); cookieString = cookieString + ‘; expires=‘ + date.toGMTString() + ‘; path=/‘; document.cookie = cookieString; }, getcookie(name) { var strcookie = document.cookie; var arrcookie = strcookie.split(‘; ‘); for (var i = 0; i < arrcookie.length; i++) { var arr = arrcookie[i].split(‘=‘); if (arr[0] == name) return arr[1]; } return ‘‘; }, /** * 验证用户浏览器是否是微信浏览器 * @author Siah * * @return 是微信浏览器返回true否则返回false */ isWeiXinFun() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == ‘micromessenger‘) { return true; } else { return false; } }, /** * 验证用户浏览器是否是微博内置浏览器 * @author Siah * * @return 是微博内置浏览器返回true否则返回false */ isWeibo() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/weibo/i) == ‘weibo‘) { return true; } else { return false; } }, isZhifubao() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/ali/i) == ‘ali‘) { return true; } else { return false; } }, //* ************************************************ //* * //* query string * //* * //* ************************************************ getQueryStringByName(name) { var result = this.location.search.match( new RegExp(‘[?&]‘ + name + ‘=([^&]+)‘, ‘i‘) ); if (result == null || result.length < 1) { return ‘‘; } return decodeURIComponent(result[1]); }, /** * 验证用户设备来源 * @author Siah * * @return object */ userAgent() { var sUserAgent = navigator.userAgent.toLowerCase(); var o = {}; o.isIpad = /ipad/i.test(sUserAgent); o.isIphone = /iphone os/i.test(sUserAgent); o.isUc7 = /rv:1.2.3.4/i.test(sUserAgent); o.isUc = /ucweb/i.test(sUserAgent); o.isAndroid = /android/i.test(sUserAgent); o.isWM = /windows mobile/i.test(sUserAgent); o.isPhone = o.isIphone || o.isAndroid || o.isWM || o.isUc7 || o.isUc; o.isMobile = o.isIpad || o.isPhone || o.isAndroid; o.isPc = !o.isMobile; o.isIOS = o.isIpad || o.isIphone; return o; }, /** * JS验证邮件地址是否合法 * @author Siah * * @param email * @return 合法返回true;不合法返回false */ checkEmail(email) { var re = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return re.test(email); }, /** * JS获取字符串长度(区分中英文) 中文算2个字,英文一个 * @author Siah * * @param string 电话号码 * @return 返回字符串长度 */ getStrLength(str) { var cArr = str.match(/[^\x00-\xff]/gi); return str.length + (cArr == null ? 0 : cArr.length); }, /** * JS获取字符串长度(区分中英文) 中文算2个字,英文一个 * @author Siah * * @param string 电话号码 * @return 返回字符串长度 */ setGlobal() { var logoImg = document.querySelector(‘.wap-logo img‘), bannerImg = document.querySelector(‘.wap-static-banner img‘); activityConfig = window.store.activityConfig; activityConfig.logo.imgH = logoImg.offsetHeight; activityConfig.logo.imgW = logoImg.offsetWidth; activityConfig.banner.imgH = bannerImg.offsetHeight; activityConfig.banner.imgW = bannerImg.offsetWidth; }, getRem(px) { return ~~px.substring(0, px.length - 2) / 12 + ‘rem‘; // rem }, /** * 检查手机号码是否合法 * @author Siah * * @param string 手机号码 * @return 合法返回true;不合法返回flase */ checkMobile(string) { return /^1[3-9]+\d{9}$/.test(string); }, /** * 验身份证号码是否正确 * @author Siah * * @param num 身份证号码 * @return 合法返回true;不合法返回flase */ isIdCardNo(num) { var factorArr = new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ); var error; var varArray = new Array(); var intValue; var lngProduct = 0; var intCheckDigit; var intStrLen = num.length; var idNumber = num; // initialize if (intStrLen != 15 && intStrLen != 18) { // error = "输入身份证号码长度不对!"; // alert(error); // frmAddUser.txtIDCard.focus(); return false; } // check and set value for (i = 0; i < intStrLen; i++) { varArray[i] = idNumber.charAt(i); if ((varArray[i] < ‘0‘ || varArray[i] > ‘9‘) && i != 17) { // error = "错误的身份证号码!."; // alert(error); // frmAddUser.txtIDCard.focus(); return false; } else if (i < 17) { varArray[i] = varArray[i] * factorArr[i]; } } if (intStrLen == 18) { // check date var date8 = idNumber.substring(6, 14); if (IsDate(date8) == false) { // error = "身份证中日期信息不正确!."; // alert(error); return false; } // calculate the sum of the products for (i = 0; i < 17; i++) { lngProduct = lngProduct + varArray[i]; } // calculate the check digit intCheckDigit = 12 - (lngProduct % 11); switch (intCheckDigit) { case 10: intCheckDigit = ‘X‘; break; case 11: intCheckDigit = 0; break; case 12: intCheckDigit = 1; break; } // check last digit if (varArray[17].toUpperCase() != intCheckDigit) { // error = "身份证效验位错误!正确为: " + intCheckDigit + "."; // alert(error); return false; } } else { // length is 15 // check date var date6 = ‘19‘ + idNumber.substring(6, 12); if (IsDate(date6) == false) { // alert("身份证日期信息有误!."); return false; } } // alert ("Correct."); return true; }, /** * 随机数组 * @author Siah * * @param array 原数组 * @return 随机打乱过的数组 */ shuffleArray(array) { var currentIndex = array.length, temporaryValue, randomIndex; while (currentIndex !== 0) { randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; } return array; }, getParms(checkToken, item) { var f = false, Data = ‘‘; if (checkToken) { Data += localStorage.getItem(‘userId‘) + ‘|$@^‘ + localStorage.getItem(‘token‘) + ‘|$@^‘; f = true; } if (item != null) { for (var i = 0; i < item.length; i++) { Data += item[i] + ‘|$@^‘; f = true; } } if (f) Data = Data.substring(0, Data.length - 4); if (checkToken) Data = localStorage.getItem(‘guid‘) + ‘-‘ + base64.encode64(base64.utf16to8(Data)); else Data = this.Guid(3, 32) + base64.encode64(base64.utf16to8(Data)); return Data; }, Guid(len, radix) { var chars = ‘0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz‘.split( ‘‘ ); var uuid = [], i; radix = radix || chars.length; if (len) { // Compact form for (i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)]; } else { // rfc4122, version 4 form var r; // rfc4122 requires these characters uuid[8] = uuid[13] = uuid[18] = uuid[23] = ‘-‘; uuid[14] = ‘4‘; // Fill in random data. At i==19 set the high bits of clock sequence as // per rfc4122, sec. 4.1.5 for (i = 0; i < 36; i++) { if (!uuid[i]) { r = 0 | (Math.random() * 16); uuid[i] = chars[i == 19 ? (r & 0x3) | 0x8 : r]; } } } return uuid.join(‘‘); }, getArgsFromUrl(sArgName) { var sHref = window.location.search; //因为有#所以用search取出来是"",改用hash //var sHref = window.location.hash; var args = sHref.split(‘?‘); var retval = ‘‘; if (args[0] == sHref) { return retval; } var str = args[1]; args = str.split(‘&‘); for (var i = 0; i < args.length; i++) { str = args[i]; var arg = str.split(‘=‘); if (arg.length <= 1) continue; if (arg[0] == sArgName) retval = arg[1]; } return retval; }, getItem(item, n1, n2) { try { var res = item[n1][n2]; return res; } catch (e) { return ‘(空)‘; } } };
标签:合并 form this rar 内置浏览器 cWeb config obj dom
原文地址:https://www.cnblogs.com/jscai/p/13304567.html