1. 获取url问号后面,name的值

/**
* *?id=123&a=b
* @return object
*/
export function urlParse(){
let url = window.location.search;
let obj = {};
let reg =/[?&][^?&]+=[^&]+/g;
let Arr = url.match(reg);
if(Arr){
Arr.forEach((item)=>{
let temArr = item.substring(1).split('=');
let key = decodeURIComponent(temArr[0]);
let value = decodeURIComponent(temArr[1]);
obj[key] = value;
});
}
return obj;
};

2. 存储商家id 以及读取 id

/**
* 存储商家id
*/
// 保存此 id
export function saveToLocal(id,key,value){
let seller = window.localStorage.sellerArr;
// 判断是否有本地存储
// 无 则创建 sellerArr 对象 创建 id的 对象
// 有 检查是否存在此id的属性 没有此属性则 创建此 id 的对象
if(!seller){
seller = {};
seller[id] = {};
}else{
seller = JSON.parse(seller);
// 查找是否存在 id 不存在继续添加属性
if(!seller[id]){
// 创建对象
seller[id] = {};
}
};
seller[id][key] =value;
window.localStorage.sellerArr = JSON.stringify(seller);
};
// 读取此 id
export function loadFromLocal(id,key,def){
let seller = window.localStorage.sellerArr;
// 判断是否有本地存储
if(!seller){
return def;
};
// 判断当前 id 是否存在
seller = JSON.parse(seller)[id];
if(!seller){
return def;
}
// 读取 bool
let ret = seller[key];
return ret || def ;
};

3.日期转化

export function formateDater(date,fmt){
//找到y+ 替换y+
if(/(y+)/.test(fmt)){
//console.log(RegExp.$1);
fmt = fmt.replace(RegExp.$1,date.getFullYear()+'');
};
let o ={
'M+' : date.getMonth()+1,
'd+' : date.getDate(),
'h+' : date.getHours(),
'm+' : date.getMinutes(),
's+' : date.getSeconds()
}
console.log(o);
for(let k in o){
if(new RegExp(`(${k})`).test(fmt)){
let str = o[k] + '' ;
fmt = fmt.replace(RegExp.$1,str);
}
};
return fmt;
}

4.dom操作

//判断是否有class
export function hasClass(el, className) {
let reg = new RegExp('(^|\\s)' + className + '(\\s|$)');
return reg.test(el.className);
}

//添加class
export function addClass(el, className) {
if (hasClass(el, className)) {
return;
}

let newClass = el.className.split(' ');
newClass.push(className);
el.className = newClass.join(' ');
}

//移除class
export function removeClass(el, className) {
if (!hasClass(el, className)) {
return
}
let newClass = el.className.split(' ');
newClass = newClass.splice(className,1);
el.className = newClass.join(' ');
}

//设置 /获取 自定义data- 属性的值
export function getData(el, name, val) {
const prefix = 'data-'
if (val) {
return el.setAttribute(prefix + name, val)
}
return el.getAttribute(prefix + name)
}

// 获取 n天后的 时间
function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0
return y+"-"+m+"-"+d;
//return d+'/'+m+'/'+y
}

工具方法 .js的更多相关文章

  1. Underscore.js 常用类型判断以及一些有用的工具方法

    1. 常用类型判断以及一些有用的工具方法 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法. 首先我们先来谈一谈数组类型的判断.先贴出我自己封装好的 ...

  2. 秒味课堂Angular js笔记------Angular js中的工具方法

    Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...

  3. vue.js 源代码学习笔记 ----- 工具方法 env

    /* @flow */ /* globals MutationObserver */ import { noop } from 'shared/util' // can we use __proto_ ...

  4. jQuery工具方法

    目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本 ...

  5. angular的工具方法笔记(equals, HashKey)

    分别是angular脏值检测的工具方法equals和 类HashKey的使用方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi ...

  6. Make Things Move -- Javascript html5版(一)文件目录结构和工具方法准备

    从这一篇开始,就来开始我们的make things move之旅吧 在此之前,要知道ActionScript(AS)的语法和JS是不一样的,AS是相对于JS而言更好的支持了面向对象的特性,所以我们可以 ...

  7. jQuery常用工具方法

    前面的话 jQuery提供一些与元素无关的工具方法,不必选中元素,就可以直接使用这些方法.如果理解原生javascript的继承原理,那么就能理解工具方法的实质.它是定义在jQuery构造函数上的方法 ...

  8. JQuery --- 第一期 (初识jQuery, JQuery核心函数和工具方法)

    个人学习笔记  初识jQuery 1.我的第一个JQuery <!DOCTYPE html> <html lang="en"> <head> & ...

  9. jquery中的工具方法$.isFunction, $.isArray(), $.isWindow()

    本文正式地址:http://www.xiabingbao.com/jquery/2015/07/25/jquery-judge-type 在javascript中对变量类型的判断中,我们讲解了了jqu ...

随机推荐

  1. CSS——nth-child()

    nth-child()选择器:CSS3新属性 用法:p:nth-child(2) 选择p标签的父元素 的第二个子元素,并且这个子元素必须是p才起作用 有点绕,有点无厘头,举个栗子: <!DOCT ...

  2. python: 基本知识记录

    1.图像输入输出操作 scikit-image: 图像输入输出库: 2.pyqt5库的安装: 对于python2.x, 使用pip install python-qt5即可以自动安装: 3.文件编码: ...

  3. HDU4560 二分最大流

    http://acm.hdu.edu.cn/showproblem.php?pid=4560 网络流好像经常搭配上二分和拆点. n个歌手,m种歌曲流派(n<=m<=75) 我们想要安排尽可 ...

  4. 编写Excel文件的Golang库

    github:https://github.com/360EntSecGroup-Skylar/excelize 使用用例 https://dev.to/xuri/go-library-for-rea ...

  5. 2017-12-15python全栈9期第二天第四节之格式化输出%s和个人简介模板

    #!/user/bin/python# -*- coding:utf-8 -*-msg = '''-----------info of zd----------------Name:zdage:24h ...

  6. log4j、log4j2和slf4j的基本使用

    一.什么是log4j.log4j2和slf4j Log4j是Apache的一个开源项目,通过配置来控制日志的输出.主要是控制日志的输出级别.输出位置和输出内容格式. Log4j2是在log4j框架的基 ...

  7. Spring Boot笔记五: Web开发之Webjar和静态资源映射规则

    目录 Webjar /** 访问当前项目的任何资源 欢迎页 标签页图标 Webjar 开始讲到Spring Boot的Web开发了,先介绍Webjar,这个其实就是把一些前端资源以jar包的形式导入到 ...

  8. 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失 败,原因是出现以下错误: 80080005

    .Net MVC项目,在下载一个Excel的时候总是报错. 解决办法: 在服务器中,运行dcomcnfg打开组件服务, 依次展开"组件服务"->"计算机" ...

  9. mysql的定时任务

    参考博客:https://blog.csdn.net/qq_26562641/article/details/53301407 查看event是否开启: show variables like '%s ...

  10. inux进程/线程调度策略与 进程优先级

    目的: 系统性的认识linux的调度策略(SCHED_OTHER.SCHED_FIFO.SCHED_RR): 实时调度?分时调度? 混搭系统(实时任务+分时任务),怎样调度. linux的调度策略 l ...