一些常用的js函数


// 打开全屏
function fullScreen() {
    elem = document.body;
    if (elem.webkitRequestFullScreen) {
        elem.webkitRequestFullScreen();
    } else if (elem.mozRequestFullScreen) {
        elem.mozRequestFullScreen();
    } else if (elem.requestFullScreen) {
        elem.requestFullscreen();
    } else {
        //浏览器不支持全屏API或已被禁用  
    }
}

// 关闭全屏
function exitFullScreen() {
    var elem = document;
    if (elem.webkitCancelFullScreen) {
        elem.webkitCancelFullScreen();
    } else if (elem.mozCancelFullScreen) {
        elem.mozCancelFullScreen();
    } else if (elem.cancelFullScreen) {
        elem.cancelFullScreen();
    } else if (elem.exitFullscreen) {
        elem.exitFullscreen();
    } else {
        //浏览器不支持全屏API或已被禁用  
    }
}

// 生成随机字符串
function randomString(e) {
    e = e || 32;
    var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",
        a = t.length,
        n = "";
    for (i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a));
    return n
}

// 生成N-N的随机数
function getRandomNum(min, max) {
    var Range = max - min;
    var Rand = Math.random();
    return (min + Math.round(Rand * Range));
}

// 设置cookie
function setCookie(name, value, expires_in = 0) {
    var d = new Date();
    d.setTime(d.getTime() + expires_in); // 设置cookie到期时间
    var expires = "expires=" + d.toGMTString();
    if (expires_in) {
        document.cookie = name + "=" + value + "; " + expires * 1000;
    } else {
        document.cookie = name + "=" + value + ";";
    }
}

// 获取cookie
function getCookie(cname) {
    const name = cname + "=";
    var res = document.cookie.split(';');
    for (var i = 0; i < res.length; i++) {
        var data = res[i].trim();
        if (data.indexOf(name) == 0) {
            return data.substring(name.length, data.length);
        }
    }
    return null;
}

// 删除cookie
function clearCookie(name) {
    setCookie(name, "", -1);
}

// 邮箱验证
function isEmail(str) {
    var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
    return reg.test(str);
}

// 手机号码验证
function isMobilePhone(phone) {
    var reg = /^1\d{10}$/;
    if (reg.test(phone)) {
        alert('ok');
    } else {
        alert('error');
    }
}

// 数组验证
function isArray(arr) {
    return Object.prototype.toString.call(arr) === '[object Array]';
}

// 按ascii码从小到大排序
function sortAscii(obj) {
    let arr = new Array();
    let num = 0;
    for (let i in obj) {
        arr[num] = i;
        num++;
    }
    let sortArr = arr.sort();
    //let sortObj = {};    //完成排序值
    let str = ''; //自定义排序字符串
    for (let i in sortArr) {
        str += sortArr[i] + '=' + obj[sortArr[i]] + '&';
        //sortObj[sortArr[i]] = obj[sortArr[i]];
    }
    //去除两侧字符串
    let char = '&'
    str = str.replace(new RegExp('^\\' + char + '+|\\' + char + '+$', 'g'), '');

    return str;
}

// 获取url参数
function getPathParam(name) {
    const query = window.location.search.substring(1);
    const vars = query.split("&");
    for (let i = 0; i < vars.length; i++) {
        const pair = vars[i].split("=");
        if (pair[0] === name) {
            return pair[1];
        }
    }
    return false;
}

// 输入一个值,返回其数据类型
function getType(para) {
    return Object.prototype.toString.call(para)
}

// 去重
function unique(arr) {
    var obj = {};
    return arr.filter(ele => {
        if (!obj[ele]) {
            obj[ele] = true;
            return true;
        }
    })
}

// 判断元素有没有子元素
function hasChildren(e) {
    var children = e.childNodes,
        len = children.length;
    for (var i = 0; i < len; i++) {
        if (children[i].nodeType === 1) {
            return true;
        }
    }
    return false;
}

// 返回当前的时间(年月日时分秒)
function getDateTime() {
    var date = new Date(),
        year = date.getFullYear(),
        month = date.getMonth() + 1,
        day = date.getDate(),
        hour = date.getHours() + 1,
        minute = date.getMinutes(),
        second = date.getSeconds();
    month = checkTime(month);
    day = checkTime(day);
    hour = checkTime(hour);
    minute = checkTime(minute);
    second = checkTime(second);

    function checkTime(i) {
        if (i < 10) {
            i = "0" + i;
        }
        return i;
    }
    return "" + year + "年" + month + "月" + day + "日" + hour + "时" + minute + "分" + second + "秒";
}

// 获得视口的尺寸
function getViewportOffset() {
    if (window.innerWidth) {
        return {
            width: window.innerWidth,
            height: window.innerHeight
        }
    } else {
        // ie8及其以下
        if (document.compatMode === "BackCompat") {
            // 怪异模式
            return {
                width: document.body.clientWidth,
                height: document.body.clientHeight
            }
        } else {
            // 标准模式
            return {
                width: document.documentElement.clientWidth,
                height: document.documentElement.clientHeight
            }
        }
    }
}

// 判断是否是手机浏览
function isMobeilBrowse() {
    var sUserAgent = navigator.userAgent.toLowerCase();
    var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
    var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
    var bIsMidp = sUserAgent.match(/midp/i) == "midp";
    var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
    var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
    var bIsAndroid = sUserAgent.match(/android/i) == "android";
    var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
    var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
    if (bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
        return true;
    } else {
        return false;
    }
}

// 判断是否是微信浏览
function isWeiXin() {
    var ua = window.navigator.userAgent.toLowerCase();
    if (ua.match(/MicroMessenger/i) == 'micromessenger') {
        return true;
    } else {
        return false;
    }
}

// 数组filter搜索
function filterItems(query) {
    return fruits.filter(function(el) {
        return el.toLowerCase().indexOf(query.toLowerCase()) > -1;
    })
}

// 发起AJAX请求
function sendRequest(url, method, headers, param, successCallback, errorCallback) {
    $.ajax({
        url: url,
        type: method,
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(param),
        headers: headers,
        dataType: "json",
        success: function (data) {
            successCallback(data.data);
        },
        error: function (data) {
            let json = data.responseJSON;
            errorCallback(json);
        }
    });
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值