js 技巧

1、去除字符串中的HTML代码

let removeHTML = (str ='')=>str.replace(/<[/!]*[^<>]*>/ig,'')
eg:
console.log(removeHTML('<h1>hello world</h1>'));//hello world

2、input 限制只能输入中文

let input = document.querySelector('input[type="text"]');
let clearText = target=>{
let {value} = target;
target.value = value.replace(/[^u4e00-u9fa5]/g,'')
}
input.onfocus = ({target})=>{
clearText(target);
}

3、禁止网页复制粘贴

let html = document.querySelector('html');
html.oncopy = ()=>false
html.onpaste = ()=>false

3、判断是否是移动端

const isMobile = () => 'ontouchstart' in window

4、字符串空格去除与替换

//  字符串前面空格去除与替换
const trimStart = str => str.replace(new RegExp('^(\s*)(.*)$'),'$2')
console.log(trimStart(' abc '));//abc

//字符串后面空格去除与替换
const trimEnd = str => str.replace(new RegExp('^(.*?)([\s]*)$'),'$1')
console.log(trimEnd(' abc ')) // abc

 5、单行写一个评级组件

var rate = 1;
"★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);
当rate的值为1时,就是1颗星。

6、javascript 错误处理的方式的正确姿势

try{
something
}catch(e){
window.location.href = "http://stackoverflow.com/search?q=[js]+"+e.message;
}

7、取随机字符串

Math.random().toString(16).substring(2);//13位
Math.random().toString(36).substring(2);//11位

8、取整

var a = ~~2.33;
var b= 2.33|0;
var c= 2.33>>0;
//上面打印的都是 2 ;

9、实现金钱格式化

var test = '1234567890';
var format = test.replace(/B(?=(d{3})+(?!d))/g,',');//1,234,567,890

or
function formatCash(str){
return str.split('').reverse().reduce((prev,next,index)=>{
return ((index%3)?next:(next+','))+prev
})
}

10、逗号运算符

var a = 0;
var b = (a++,99);
console.log(a);//1
console.log(b);//99

11、如何最佳的让两个整数交换数值

a^=b;
b^=a;
a^=b;

12、实现标准json的深拷贝

var a = {
a:1,
b:{
c:1,
d:2
}
}
var b = JSON.parse(JSON.stringify(a))

13、不用number,parseInt,parseFloat和方法把'1'字符串转换成数字。

var a ='1';
+a

14、最短的代码实现数组去重

[...new Set([1,'1',2,3,1,1])];  //[1,'1',2,3]

15、最短的代码实现一个长度为6且值都是8的数组:

Array(6).fill(8); //[8,8,8,8,8,8]

16、取出一个数组中的最大值和最小值

var numbers = [5,35,65,-1,55,26,100];
var maxNum = Math.max.apply(Math,numbers);//100
var minNum = Math.min.apply(Math,numbers);//-1

17、将arguments对象转换为数组

var args = Array.prototype.slice.call(arguments);
or
var args = Array.from(arguments);
原文地址:https://www.cnblogs.com/sunnyeve/p/12654734.html