js常用方法合集

js封装:

// 时间戳转年月日
function formatDate(obj) {
    var date = new Date(obj);
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    var h = date.getHours();
    h = h < 10 ? ('0' + h) : h;
    var minute = date.getMinutes();
    var second = date.getSeconds();
    minute = minute < 10 ? ('0' + minute) : minute;
    second = second < 10 ? ('0' + second) : second;
    return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
}

function Trim(str) {
    var param = str.replace(/(^\s*)|(\s*$)/g, "");
    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\]<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
    var rs = "";
    for (var i = 0; i < param.length; i++) {
        rs = rs + param.substr(i, 1).replace(pattern, '');
    }
    return rs;
}

// 设置 Cookie
function setCookie(name, value) {
    var argv = setCookie.arguments;
    var argc = setCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : null;
    if (expires != null) {
        var LargeExpDate = new Date();
        LargeExpDate.setTime(LargeExpDate.getTime() + (expires * 1000 * 3600 * 24));
    }
    document.cookie = name + "=" + escape(value) + ((expires == null) ? "" : ("; expires=" + LargeExpDate.toGMTString()));
}

// 获取 Cookie
function getCookie(Name) {
    var search = Name + "="
    if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search)
        if (offset != -1) {
            offset += search.length
            end = document.cookie.indexOf(";", offset)
            if (end == -1) end = document.cookie.length
            return unescape(document.cookie.substring(offset, end))
        } else return ""
    }
}

// 删除 Cookie
function deleteCookie(name) {
    var expdate = new Date();
    expdate.setTime(expdate.getTime() - (86400 * 1000 * 1));
    setCookie(name, "", expdate);
}

/* 手机号隐藏中间4位*/
function hidd_tel(param_tel) {
    return param_tel.substr(0, 3) + "****" + param_tel.substr(7);
}


/**
 * 只能填写整数,不包括0
 * @param str
 * @returns {boolean}
 */
function verifi_fuwuqi(str) {
    var zf = /^(-)?[1-9][0-9]*$/
    if (!zf.test(str)) {
        layer.alert('只能填写整数,不包括0');
        return false;
    }
}

/**
 * 只能填写数字【正整数、正浮点数】
 * @param str
 * @returns {boolean}
 */
function verifi_amount(str) {
    var positive_integer = /^[0-9]*[1-9][0-9]*$/  //正整数
    var float_number = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/  //正浮点数
    if (!positive_integer.test(str) && !float_number.test(str)) {
        layer.alert('只能填写数字');
        return false;
    } else {
        return true;
    }
}

/**
 * 只能填写数字【正整数、正浮点数】
 * @param str
 * @returns {boolean}
 */
function verifi_amount_two(str) {
    var positive_integer = /^[0-9]*[1-9][0-9]*$/  //正整数
    var float_number = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/  //正浮点数
    if (!positive_integer.test(str) && !float_number.test(str)) {
        return false;
    } else {
        return true;
    }
}

/**
 * 验证订单号,微信订单号(32位),支付宝订单号(28位)
 * @param wx_zfb
 * @param params
 * @returns {boolean}
 */
function verifi_orderid(wx_zfb, params) {
    let site = ['runoob', 'google', 'taobao'];
    wx_reg = /^[A-Za-z0-9]{28}$/;
    zfb_reg = /^[A-Za-z0-9]{32}$/;
    if (wx_zfb == 28) {
        return wx_reg.test(params);
    } else if (wx_zfb == 32) {
        return zfb_reg.test(params);
    }
}


// 验证是否是手机号
function checkPhone(phone) {
    if (!(/^1[3456789]\d{9}$/.test(phone))) {
        return false;
    } else {
        return true;
    }
}

// 验证隐藏中间四位的手机号
function checkPhoneHidd(phone) {
    var phoneLength = phone.length;
    var top_four = phone.substring(0,3);
    var lst_four = phone.substring(phoneLength-4,phoneLength);
    var top_four_bool = /^[0-9]+$/.test(top_four);
    var lst_four_bool = /^[0-9]+$/.test(lst_four);
    if(!top_four_bool || !lst_four_bool){
        return false;
    }else{
        return true;
    }
}

/**
 * [function_name 只能出现字母和数字]
 * @Author           刘子鹤
 * @CreateTime       2019-06-24
 * @LatestUpdateTime 2019-06-24
 */
function verifi_str(param_str) {
    var reg = /^[a-zA-Z0-9]+$/;
    return reg.test(param_str);
}

/**
 * [RemoveChinese 如果字符串中包含汉字,返回 true]
 */
function verifiChinese(strValue) {   
    var reg = /[\u4e00-\u9fa5]/g;   
    return reg.test(strValue);  
}

// 将秒转换为 时:分:秒
function formatSeconds(value) {
    var secondTime = parseInt(value);// 秒
    var minuteTime = 0;// 分
    var hourTime = 0;// 小时
    if (secondTime > 60) {//如果秒数大于60,将秒数转换成整数
        //获取分钟,除以60取整数,得到整数分钟
        minuteTime = parseInt(secondTime / 60);
        //获取秒数,秒数取佘,得到整数秒数
        secondTime = parseInt(secondTime % 60);
        //如果分钟大于60,将分钟转换成小时
        if (minuteTime > 60) {
            //获取小时,获取分钟除以60,得到整数小时
            hourTime = parseInt(minuteTime / 60);
            //获取小时后取佘的分,获取分钟除以60取佘的分
            minuteTime = parseInt(minuteTime % 60);
        }
    }
    var result = "" + parseInt(secondTime) + " 秒 ";  // 秒
    if (minuteTime > 0) {
        result = "" + parseInt(minuteTime) + " 分 " + result;  // 分钟
    }
    if (hourTime > 0) {
        result = "" + parseInt(hourTime) + " 时 " + result;  // 小时
    }
    return result;
}

// 将时间戳转换成Y-m-d形式
function formatYmd(obj) { //时间戳转年月日
    var date = new Date(obj);
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    return y + '-' + m + '-' + d;
}

/**
 * 将日期格式转换成时间戳 【 精确到毫秒 】
 * @param argument
 * @returns {number}
 */
function formatMillisecond(argument) {
    var date = new Date(argument); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
    var date = new Date(argument.replace(/-/g, '/'));
    time_millisecond = date.getTime();
    return time_millisecond;
}

/**
 * 将日期格式转换成时间戳 【 精确到秒 】
 * @param argument
 * @returns {number|*}
 */
function formatSecond(argument) {
    var date = new Date(argument); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
    var date = new Date(argument.replace(/-/g, '/'));
    time_millisecond = Date.parse(date);
    time_second = time_millisecond / 1000;
    return time_second;
}

/**
 * 根据指定字符,将字符串分割为数组
 * @param param_str
 * @returns {never|string[]|*}
 */
function js_explode(param_str, separator_str) {
    var arr_res = param_str.split(separator_str);
    return arr_res;
}

/**
 * 封装请求
 */
var request = new function () {
    var self = this;
    //post请求
    this.post = function (url, data, callback, isReload = false) {
        requestType('POST', url, data, callback, isReload);
    }
    //get请求
    this.get = function (url, data, callback, isReload = false) {
        requestType('GET', url, data, callback, isReload);
    }
}

/**
 * AJAX请求
 * @param type
 * @param url
 * @param data
 * @param callback
 */
function requestType(type, url, data, callback) {
    $.ajax({
        url: url,
        type: type,
        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
        dataType: "json",
        data: data,
        timeout: 60000,
        success: function (res) {
            callback(res);
        },
        error: function (xhr, textstatus, thrown) {
            var return_error = 'Status:' + xhr.status + ',' + xhr.statusText + ',请联系管理员!'
            console.log(return_error);
            callback(xhr);
        }
    });
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章