代码改变世界

js功能汇总

2015-11-26 18:24  孤独大兔子  阅读(297)  评论(0)    收藏  举报

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

@

@