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);