工具函数
时间:2019-11-14
本文章向大家介绍工具函数,主要包括工具函数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
// 连字符转驼峰 String.prototype.hyphenToHump = function () { return this.replace(/-(\w)/g, (...args) => { return args[1].toUpperCase() }) } // 驼峰转连字符 String.prototype.humpToHyphen = function () { return this.replace(/([A-Z])/g, '-$1').toLowerCase() } // 日期格式化 Date.prototype.format = function (format) { const o = { 'M+': this.getMonth() + 1, 'd+': this.getDate(), 'h+': this.getHours(), 'H+': this.getHours(), 'm+': this.getMinutes(), 's+': this.getSeconds(), 'q+': Math.floor((this.getMonth() + 3) / 3), S: this.getMilliseconds(), } if (/(y+)/.test(format)) { format = format.replace(RegExp.$1, `${this.getFullYear()}`.substr(4 - RegExp.$1.length)) } for (let k in o) { if (new RegExp(`(${k})`).test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : (`00${o[k]}`).substr(`${o[k]}`.length)) } } return format } /** *获取前天、昨天、今天、明天、后天的时间 *0:今天,以此类推昨天和明天、后天 */ function GetDateStr(AddDayCount) { // var dd = new Date(); // dd.setDate(dd.getDate() + AddDayCount);//获取AddDayCount天后的日期 // var y = dd.getFullYear(); // var m = dd.getMonth() + 1;//获取当前月份的日期 // var d = dd.getDate(); // console.log(y + "-" + m + "-" + d,'y + "-" + m + "-" + d') // return y + "-" + m + "-" + d; return moment().add(AddDayCount, 'day').format('YYYY-MM-DD'); } /** *获取前天、昨天、今天、明天、后天的时间 *0:今天,以此类推昨天和明天、后天 */ function GetDateStr2(AddDayCount) { var dd = new Date(); dd.setDate(dd.getDate() + AddDayCount);//获取AddDayCount天后的日期 var y = dd.getFullYear(); var m = dd.getMonth() + 1;//获取当前月份的日期 var d = dd.getDate(); return y + "-" + m + "-" + d; // return moment().add(AddDayCount, 'day').format('YYYY-MM-DD'); } //获取两个时间节点间的日期 function getDateSection(startTime, endTime) { let list = [] for (let i = Date.parse(startTime); i <= Date.parse(endTime); i += 86400000) { list.push(moment(i).format('YYYYMMDD')) } return list } // 时间处理 秒数转化为天、时、分、秒 function timeDeal(time) { let day,hours,min,second; day = Math.floor(time / 86400); hours = Math.floor((time - day * 86400) / 60 / 60); min = Math.floor((time - day * 86400 - hours * 60 * 60) / 60); second = Math.floor(time % 60); hours = hours < 10 ? '0' + hours : hours; min = min < 10 ? '0' + min : min; second = second < 10 ? '0' + second : second; if(day > 0) { return `${day}天 ${hours}:${min}:${second}` } return `${hours}:${min}:${second}` } // 转义 防止js注入攻击 let htmlEncodeJQ = (str) => { return $('<span/>').text(str).html(); } // 休眠 延迟 let sleep = (s) => { s = s || 0; s = parseInt(s) * 1000; let now = +new Date(); let timer = null; return new Promise((resolve, reject) => { timer = setInterval(() => { if (now + s < +new Date()) { clearInterval(timer); resolve(true); } }, 10) }) } // 获取url字段 let GetQueryString = (name) => { var reg = new RegExp("(^|/?/?)"+ name +"=([^/?/?]*)(/?/?|$)"); var r = window.location.search.substr(1).match(reg); if(r!=null)return decodeURI(r[2]); return null; } // 千位分割 const thousandBitSeparator = (num) => { return (num || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); }
原文地址:https://www.cnblogs.com/kewenxin/p/11857926.html
- Django form表单
- Django ORM那些相关操作
- 使用mitmproxy嗅探双向认证ssl链接——嗅探AWS IoT SDK的mqtts
- Django中ORM介绍和字段及其参数
- 几个实现分页的方法
- 如何识别IDA反汇编中动态链接库中的函数
- Kali Linux安装TL-WN821N USB无线网卡驱动(make失败)
- Cookie、Session登陆验证相关介绍和用法
- 题型分析
- .NET CORE 框架ABP的代码生成器(ABP Code Power Tools )使用说明文档
- Lua编写wireshark插件初探——解析Websocket上的MQTT协议
- 在Ubuntu 16.04环境下安装Docker-CE(附视频教程)
- 修改HTML5 input placeholder 颜色及修改失效的解决办法
- 设置同样字体大小,chrome浏览器有时字体偏大的解决办法(转)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Cypress系列(61)- 断言最佳实践
- Cypress系列(62)- 改造 PageObject 模式
- CPU 执行程序的秘密,藏在了这 15 张图里
- Cypress系列(63)- 使用 Custom Commands
- Python字符串操作大全
- Cypress系列(64)- 数据驱动策略
- 别只会搜日志了,求你懂点原理吧
- Cypress系列(65)- 测试运行失败自动重试
- CentOS7下编译FFMPEG源代码
- Android 的 Presentation 双屏异显,遇到的问题总结
- 音视频相关开发库和资料
- Flink深入浅出: 应用部署与原理图解(v1.11)
- 用 Github Actions 在 K8S 中运行 CI 测试
- 线程池的拒绝策略
- 15 张图带你深入理解浮点数