JavaScript 函数toRGB,它的作用是转换CSS中常用的颜色编码。 例:
1 alert(toRGB("#0000FF")); // 输出 rgb(0, 0, 255)
2 alert(toRGB("invalid")); // 输出 invalid
3 alert(toRGB("#G00")); // 输出 #G00
function toRGB(color) { var regex = /^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ match = color.match(regex) console.log(match) return match ? 'rgb('+parseInt(match[1], 16)+','+parseInt(match[2], 16)+','+parseInt(match[3], 16)+')' : color }
实现 sort 排序函数,例:sort([5, 100, 6, 3, -12]) // 返回 [-12, 3, 5, 6, 100]。
function sort(arr){ for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-i-1;j++){ if(arr[j]>arr[j+1]){ var hand=arr[j]; arr[j]=arr[j+1]; arr[j+1]=hand; } } } return arr; }
校验输入的字符串是否是一个有效的电子邮件地址。要求: a) 使用正则表达式。 b) 如果有效返回true ,反之为false。
var checkEmail = function(email){ var preg = "(^[a-zA-Z]|^[\w-_\.]*[a-zA-Z0-9])@(\w+\.)+\w+$", pregObj =new RegExp(preg); return pregObj.test(email); } alert(checkEmail("sdf@163.com"));
把URL参数解析为一个对象,如:
var url = “http://www.taobao.com/index.php?key0=0&key1=1&key2=2.....”
var obj = parseQueryString(url);
alert(obj.key0) // 输出0
function parseQueryString ( name ){ name = name.replace(/[[]/,"\[").replace(/[]]/,"\]"); var regexS = "[\?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec( window.location.href ); if( results == null ) return ""; else return results[1]; }
两个数组,里面分别为对象,拼成新数组是两个数组的差值
// one: 数组A 原数组 // two: 数组B 被包含数组 const returnArr = function (one, two) { var arr3 = {}; //arr1 var arr4 = {}; //arr2 var arr5 = []; var reArr = function (arr, name) { arr.map(key=> { return name[ key['id'] ] = key; }) } reArr(one, arr3); reArr(two, arr4); var result = function (arr, name) { arr5 = []; Object.keys(arr).map(key => { if (!name.hasOwnProperty(key)) { arr5.push(arr[key]); } }) } result(arr3, arr4); return arr5; } var one = [{id:2, a:1}, {id:1 ,b:2}]; var two = [{id:2, a:1}]; console.log(returnArr(one, two));
前端分页
var data=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31] // var total = data.length //共14条 var current = 3 //当前页数 var pagesize = Math.ceil(total/10) //总共多少页 var last = data.slice((current-1)*10,current*10); last
对象合并
1、用 Object.assign(); var o1 = { a: 1 }; var o2 = { b: 2 }; var o3 = { c: 3 }; var obj = Object.assign(o1, o2, o3);
@
@