1.键盘事件监听
//监听函数
quitListener() {
document.onkeydown = e => {
let e1 = e || event || window.event || arguments.callee.caller.arguments[0]
if (e1 && e1.keyCode == 81) {
// 取消监听
document.onkeydown = null
handlefunc()
}
}
}
//页面加载时
mounted() {
this.quitListener()
}
2.去除输入的特殊符号
regStr(str) {
const pattern=/[`~!@#$^\-&*()=|{}':;',\\\[\]\.<>\/?~!@#¥……&*()——|{}【】';:""'。,、?\s]/g
return str.replace(pattern,"")
}
3.js深拷贝
function deepCopy(data) {
if (data && typeof data === 'object') {
if (typeof data === 'function') {
let tempFunc = data.bind(null)
tempFunc.prototype = deepCopy(data.prototype)
return tempFunc
}
}
}
4.去除字符串里的html标签
// [^n]匹配任何一个除^范围内的字符
str.replace(/<[^>]+>/g, '')
// ?匹配0或1个 .匹配换行符之外所有字符 g全局模式应用所有字符串
str.replace(/<\/?.+?>/g, "").replace(/ /g, "")
5.字符串“数组”互转
// str -> arr
str.split('分割字符')
// arr -> str // 默认为','去连接
arr.join('分割字符')
6.时间戳转换字符串(处理视频时长)
const formatTime = (ms:number):string => {
let min:number = Math.floor(ms / 1000 / 60)
let sec:number = Math.floor(ms / 1000 - min * 60)
let minStr:string = ''
let secStr:string = ''
if (min < 10) {
minStr = '0' + min
} else {
minStr = min + ''
}
if (sec < 10) {
secStr = '0' + sec
} else {
secStr = sec + ''
}
return (minStr + ':' + secStr)
}