公共方法

tech2022-10-31  114

/* ** Created By Liyye 19/12/2 / /

1、强制转https2、判断链接是否是来自搜索引擎*/ (function isFromSeo(){ var where =document.referrer; where = where.toLowerCase(); //转为小写 var b = false; var regarr = new Array(‘google.’,‘baidu.’,‘sm.’,‘soso.’,‘so.’,‘360.’,‘yahoo.’,‘youdao.’,‘sogou.’,‘gougou.’); for (i in regarr){ if (where.indexOf(regarr[i]) > 0){ b = true; break; } } if(b){ var newhref = “https://www.lyas365.com” + window.location.href.substring(window.location.origin.length); window.location.replace(newhref); } })();

1 时间日期转换 export function parseTime(time) { if (time) { var date = new Date(time) var year = date.getFullYear() /* 在日期格式中,月份是从0开始的,因此要加0 * 使用三元表达式在小于10的前面加0,以达到格式统一 如 09:11:05 * */ var month = date.getMonth() + 1 < 10 ? ‘0’ + (date.getMonth() + 1) : date.getMonth() + 1 var day = date.getDate() < 10 ? ‘0’ + date.getDate() : date.getDate() var hours = date.getHours() < 10 ? ‘0’ + date.getHours() : date.getHours() var minutes = date.getMinutes() < 10 ? ‘0’ + date.getMinutes() : date.getMinutes() var seconds = date.getSeconds() < 10 ? ‘0’ + date.getSeconds() : date.getSeconds() // 拼接 return year + ‘-’ + month + ‘-’ + day + ’ ’ + hours + ‘:’ + minutes + ‘:’ + seconds } else { return ‘’ } }

//2// 替换手机字符 export function regMobile(mobile) { if (mobile.length > 7) { var new_mobile = mobile.substr(0, 3) + ‘****’ + mobile.substr(7) } return new_mobile } //3 检查是否有类名

/**

Check if an element has a class@param {HTMLElement} elm@param {string} cls@returns {boolean} */ export function hasClass(ele, cls) { return !!ele.className.match(new RegExp(’(\s|^)’ + cls + ‘(\s|$)’)) }

//4 验证邮箱 /**

验证邮箱@param str@returns {boolean} */ export function validatEmail(str) { const reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ return reg.test(str) }

// 5 验证是否为合法的URL export function validateURL(textval) { const urlregex = /^(https?|ftp)😕/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%KaTeX parse error: Can't use function '\.' in math mode at position 54: …}|[1-9][0-9]?)(\̲.̲(25[0-5]|2[0-4]…|[a-zA-Z0-9.,?’\+&%KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲=~_-]+))*/ return urlregex.test(textval) }

// 6 rem适配 (function(doc, win){ var docEl = doc.documentElement // 获取整个DOM对象 就是html这个DOM元素 // 横竖屏的切换 引起resize事件 var resizeEvt = ‘orientationchange’ in window ? ‘orientationchange’ : ‘resize’ var recalculate = function(){ var clientWidth = docEl.clientWidth // 320 375 414 if(!clientWidth) return; docEl.style.fontSize = (clientWidth / 375) * 100 + ‘px’ // 设置1rem是多少px } if(!doc.addEventListener) return win.addEventListener(resizeEvt, recalculate, false) doc.addEventListener(‘DOMContentLoaded’, recalculate, false) })(document, window)

// 7 今天昨天前天 /*

今天昨天前天/ export let jzqDate = function(date) { date = date * 1000; // 获取当日的0点;以此之前24小时 48小时 let today = new Date().getFullYear() +’-’+ (new Date().getMonth()+1)+’-’+ new Date().getDate()+’ 00:00’; console.log(today); let current = new Date(date).getFullYear() +’-’+ (new Date(date).getMonth()+1)+’-’+ new Date(date).getDate(); console.log(current); if(new Date(date).getTime() - new Date(today).getTime() < 2460601000 && new Date(date).getTime() - new Date(today).getTime() > 0) { console.log('今天 '+formatDate(new Date(date), ‘hh:mm’)) return '今天 '+formatDate(new Date(date), ‘hh:mm’); }else if(new Date(today).getTime() - new Date(current).getTime() <= 2460601000) { console.log('昨天 '+formatDate(new Date(date), ‘hh:mm’)) return '昨天 '+formatDate(new Date(date), ‘hh:mm’); }else if(new Date(today).getTime() - new Date(current).getTime() <= 4860601000) { console.log('前天 '+formatDate(new Date(date), ‘hh:mm’)) return '前天 '+formatDate(new Date(date), ‘hh:mm’); }else { console.log(formatDate(new Date(date), ‘MM月dd日 hh:mm’)) return formatDate(new Date(date), ‘MM月dd日 hh:mm’); } } // 8 根据日期判断是周几 /** 根据时间判断是星期几@param dateStr{日期:2013-05-05} / function getWeek(dateStr){ var weekArray = new Array(“星期日”, “星期一”, “星期二”, “星期三”, “星期四”, “星期五”, “星期六”); var week = weekArray[dateStr.getDay()]; return week; } // 9 快速排序,按照某个属性排序 /快速排序,按某个属性,或按“获取排序依据的函数”,来排序.@method soryBy@static@param {array} arr 待处理数组@param {string|function} prop 排序依据属性,获取@param {boolean} desc 降序@return {array} 返回排序后的新数组 */ var sortBy = function (arr, prop, desc){ var props=[], ret=[], i=0, len=arr.length; if(typeof prop==‘string’) { for(; i<len; i++){ var oI = arr[i]; (props[i] = new String(oI && numFormat(oI[prop]) || ‘’))._obj = oI; } } else if(typeof prop==‘function’) { for(; i<len; i++){ var oI = arr[i]; (props[i] = new String(oI && prop(oI) || ‘’))._obj = oI; } }else { throw ‘参数类型错误’; } props.sort(); for(i=0; i<len; i++) { ret[i] = props[i]._obj; } if(desc) ret.reverse(); return ret; }; // 10 数组去重 removeRepeatArray: function(arr) { return arr.filter(function(item, index, self) { return self.indexOf(item) === index; }); //es6 //return Array.from(new Set(arr)) } // 11 现金金额大小写 //现金额大写转换函数 //upDigit(168752632) //result:“人民币壹亿陆仟捌佰柒拾伍万贰仟陆佰叁拾贰元整” //upDigit(1682) //result:“人民币壹仟陆佰捌拾贰元整” //upDigit(-1693) //result:“欠人民币壹仟陆佰玖拾叁元整” upDigit: function(n) { var fraction = [‘角’, ‘分’, ‘厘’]; var digit = [‘零’, ‘壹’, ‘贰’, ‘叁’, ‘肆’, ‘伍’, ‘陆’, ‘柒’, ‘捌’, ‘玖’]; var unit = [ [‘元’, ‘万’, ‘亿’], [’’, ‘拾’, ‘佰’, ‘仟’] ]; var head = n < 0 ? ‘欠人民币’ : ‘人民币’; n = Math.abs(n); var s = ‘’; for (var i = 0; i < fraction.length; i++) { s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, ‘’); } s = s || ‘整’; n = Math.floor(n); for (var i = 0; i < unit[0].length && n > 0; i++) { var p = ‘’; for (var j = 0; j < unit[1].length && n > 0; j++) { p = digit[n % 10] + unit[1][j] + p; n = Math.floor(n / 10); } s = p.replace(/(零.)*零KaTeX parse error: Expected group after '^' at position 17: …, '').replace(/^̲/, ‘零’) + unit[0][i] + s; //s = p + unit[0][i] + s; } return head + s.replace(/(零.)*零元/, ‘元’).replace(/(零.)+/g, ‘零’).replace(/^整$/, ‘零元整’); } // 12
最新回复(0)