美文网首页
JS常用方法整理

JS常用方法整理

作者: 麦曦 | 来源:发表于2019-08-28 14:40 被阅读0次

JS常用方法整理

一、日期相关

1.二个日期之间相差天数

export const diffDay = (ms, ms2) => {
    //只精确到天
    return (new Date(ms2).setHours(0, 0, 0, 0) - new Date(ms).setHours(0, 0, 0, 0)) / 864e5
}

2.返回日期

/**
 * 
 * @param {*} ms 
 * @param {Sring} break_str 
 */
export const date_str = (ms, break_str = '-') => {
    let date = new Date(ms);
    let y = date.getFullYear();
    let m = date.getMonth() + 1;
    let d = date.getDate();
    return `${y}${break_str}${complement(m)}${break_str}${complement(d)}`;
};

3.获取星期几

export const getWeek = (ms) => {
    let getday = new Date(ms).getDay();
    let week = ['日', '一', '二', '三', '四', '五', '六'];
    return `周${week[getday]}`;
};

二、字符相关

1.JS获取字符长度(中文字符占二个字节)**

export const strLength = (str) => {
    var realLength = 0, len = str.length, charCode = -1;
    for (var i = 0; i < len; i++) {
        charCode = str.charCodeAt(i);
        if (charCode >= 0 && charCode <= 128) realLength += 1;
        else realLength += 2;
    }
    return realLength;
}

三、数组相关

1.判断数组是否有重复值

// 判断数组是否有重复值
export const isRepeat = (arr) => {
    var hash = {};
    for (var i in arr) {
        if (hash[arr[i]]) {
            return true;
        }
        hash[arr[i]] = true;
    }
    return false;
}

四、正则相关

1.身份证验证

//身份证验证
export const isCardID = (numer) => {
    let sId = numer
    if (sId == '') { return }
    var iSum = 0;
    var aCity = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" }
    // "身份证长度或格式错误"
    if (!/^\d{17}(\d|x)$/i.test(sId)) {
        return false
    }
    sId = sId.replace(/x$/i, "a");
    // 你的身份证地区非法
    if (aCity[parseInt(sId.substr(0, 2))] == null) {
        return false
    };
    var sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
    var d = new Date(sBirthday.replace(/-/g, "/"));
    // 身份证上的出生日期非法
    if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) {
        return false
    };
    for (var i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11);
    // 你输入的身份证号非法
    if (iSum % 11 != 1) {
        return false
    };
    return true;
}

2.手机号正则

/^0?1[0-9]\d{9}$/

五、Cookie相关

1.JS设置cookie

var data=document.cookie;    
            var dataArray=data.split("; ");    
          for(var i=0;i<dataArray.length;i++){    
              var varName=dataArray[i].split("=");    
                if(varName[0]==$name){    
                     return decodeURI(varName[1]);    
                }                    
     
         } 

2.JS清除cookie

var myDate=new Date(1);    
        myDate.setTime(-1000);//设置时间    
        var data=document.cookie;    
        var dataArray=data.split("; ");    
        for(var i=0;i<dataArray.length;i++){    
                var varName=dataArray[i].split("=");    
                document.cookie=varName[0]+"=''; expires="+myDate.toGMTString()+';domain=.jd.com;path=/';    
        } 

设置对应的chrome里查看Domain 和path

HTTP带勾的是httpOnly

cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击。在服务器端设置HttpOnly属性,就是禁止客户端的JS对这个Cookie做读写操作。

相关文章

  • lyjutils.js javascript 工具类

    收集整理的常用js,部分方法依赖jquery

  • 小程序-常用utils

    小程序-常用utils,整理常用的小程序js工具方法 剔除回车键 utils.js const delEnter ...

  • 常用JS方法整理

    原文链接目录: 截取指定字节数的字符串 判断是否微信 获取时间格式的几个举例 获取字符串字节长度 对象克隆、深拷贝...

  • 常用JS方法整理

    https://juejin.im/post/5b62d02ee51d453467552dc9#heading-10

  • js常用方法整理

    数组操作 页面跳转 遍历对象 json与字符串互转 弹出框 取整 时间操作 字符串截取 判断数据类型 延时回调传参

  • JS常用方法整理

    JS常用方法整理 一、日期相关 1.二个日期之间相差天数 2.返回日期 3.获取星期几 二、字符相关 1.JS获取...

  • js数组常用方法整理

    js数组常用方法整理 标签:js 数组 前言:这篇文章主要是一些归纳总结,大部分参考的是MDN的程序,也加了一些自...

  • 前端常用js方法整理

    前言 整理前端常用的一些函数 时间类 UTC() 方法接受的参数同日期构造函数接受最多参数时一样,返回从1970-...

  • 【js】JS数组处理常用方法整理

    1.去重 方法一:set去重 ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。...

  • 常用js方法整理common.js

网友评论

      本文标题:JS常用方法整理

      本文链接:https://www.haomeiwen.com/subject/fropectx.html