etools 常用js函数整理 安装和使用
使用npm安装:npm install -s etools
通过es6模块引入,如import _ from "etools";console.log(_.extend(true,{},{"age":23}));
下载并在页面引入etools.js
直接调用ETool对象中得方法,如console.log(ETools.extend(true,{},{"age":23}));
Git 仓库地址 https://github.com/MarvenGong...
版本说明1.2.8 新增datetime下根据身份证号码获取年龄的方法getAgeByIDCard
1.2.7 新增datetime下根据出生日期获取年龄的方法getAgeByBirthday
1.2.5 新增async相关函数用来处理异步函数常用方法
1.2.3 修正了部分bug,新增array数组扩展,增加Array.filterBy方法
1.2.2 修正了部分bug,新增string下的generateUUID和addNum方法
1.0.9 修正了deparam函数依赖jquery的$.each函数的问题
详细文档 对象相关
ETools.extend(deep,obj1,obj2)
作用:类似于jquery.extend方法,合并json对象,并将合并后的对象保存到obj1中作为返回值
参数:
1. deep,是否深度复制,设为true,会复制对象中嵌套的对象。 2. obj1,obj2,要合并的对象
案例:`ETools.extend(true,{"name":"zhangsan",gender:"male"},{"age":12})` 输出结果`{"name":"zhangsan",gender:"male","age":12}` 说明,我们可以将obj1设为空{},用这个方法克隆一个对象,解决引用类型赋值的问题url请求相关
ETools.deparam(str)
将jquery序列化表单之后得到的参数字符串转换成标准的json对象
str,即要格式化的字符串
ETools.deparam("aaa=bbb&ccc=ffffd")输出结果{aaa:bbb,ccc:ffffd}
查看演示>>
ETools.urlParamToObj(url)
将连接中的get请求参数转换成json对象
url:链接
ETools.deparam("www.baidu.com?aaa=bbb&ccc=ffffd")输出结果{aaa:bbb,ccc:ffffd}
事件ETools.stopPropagation(event)
阻止事件向上冒泡,点击某元素不会触发父元素的事件
event:事件对象
ETools.stopPropagation(event)
异步函数相关ETools.async.wait(timestamp)
在异步函数中等待指定的时间
timestamp 等待的时间的毫秒数
async getUserList() {
await ETools.async.wait(2000)
}
ETools.datetime.compareDate(starate,endDate)
比较两个日期的大小
日期格式"yyyy-mm-dd",如果返回值为-1,则前者大于后者,为0两者相等,为1,后者大于前者
ETools.datetime.compareDate("2015-12-11","2015-12-12")
ETools.datetime.compareTime(startTime,endTime)
比较两个时间的大小
日期格式"yyyy-mm-dd h:mi:s",如果返回值为-1,则前者大于后者,为0两者相等,为1,后者大于前者
ETools.datetime.compareDate("2015-12-11 12:10:00","2015-12-12 12:10:00")
ETools.datetime.arriveTimerFormat(s)
将秒数转换成对应的多少小时,多少分多少秒(用于倒计时的显示)
s:要计算的秒数
ETools.datetime.arriveTimerFormat(52010)->[0, 14, 26, 50, "14:26:50"]
ETools.datetime.format(date,formatStr)
将Date类型的时间转换成指定格式的字符串
date:日期类型的对象(如:new Data())
formatStr:想要的时间格式如:"yyyy-mm-dd hs 星期w"ETools.datetime.Format(new Date(),"yyyy-MM-dd hs 星期w")->"2015-16-24 15:16:15 星期四"
ETools.datetime.parse(timeStr)
将时间字符串转换成对应的时间戳
timeStr:时间字符串(如:"2015-16-24 15:16:15")
ETools.datetime.parse("2015-16-24 15:16:15")->1461482175
ETools.datetime.getNewDay(dataStr,addNumber)
日期加上天数得到新的日期
dateTemp 需要参加计算的日期,days要添加的天数,返回新的日期,日期格式:YYYY-MM-DD
参数:dataStr原来的日期(如:“2014-12-1”)
addNumber要增加或减少的天数,减少就给负数值
如:ETools.datetime.getNewDay("2017-12-1",2) -- "2017-12-3"
ETools.datetime.getNewDay("2017-12-1",-2) -- "2017-11-29"
ETools.datetime.getAgeByBirthday(birthdatStr)
根据出生日期获取年龄
birthdatStr 出生日期标准格式的字符串 如:1991-08-20
ETools.datetime.getAgeByBirthday("1991-08-20") -- 27
ETools.datetime.getAgeByIDCard(idcard)
根据出生日期获取年龄 如果传入的不是标准的身份证则返回false
idcard 身份证号 如:"*19951208x"
ETools.datetime.getAgeByIDCard("*19951208x") -- 23
html格式操作ETools.html.htmlEncode(str)
把html中的常见符号转换成特殊符号码,如"<"转换成
"<"
参数str,要转换的html代码
ETools.html.htmlDecode(str)
把html代码转换成html元素
参数str,要转换的html字符串
页面操作ETools.page.addFavorite(url,title)
将页面添加到浏览器收藏夹
url:要添加的地址信息。title:在收藏夹中的名字
ETools.page.addFavorite("www.baidu.com","百度")
ETools.page.addHome(url)
将页面设为浏览器的首页
url:要添加的地址信息。
ETools.page.addFavorite("www.baidu.com")
动态加载ETools.loadStyle(styleUrl)
动态加载样式表
styleUrl:要加载的样式文件的地址
ETools.loadStyle("css/style.css")
浏览器信息获取ETools.getExplorerInfo()
返回浏览器的名称以及版本信息{browerName:"google",version:"3.10.101.1"}
字符串操作ETools.string.getStrLength(str)
获取字符串长度,中文字符按两个长度计算
str:要计算的字符串
ETools.string.getStrLength("ilove你")->7
ETools.string.trim(str)
去掉字符串左右的空格
str:要去空格的字符串
ETools.string.getStrLength(" aaa ")->"aaa"
ETools.string.number2String(number)
参数 number : 要转换的数字
把1,2,3,4....,99999 类型的数字转换成中文字符串
如:ETools.string.number2String(123) -> “一百二十三”
ETools.string.generateUUID()
生成一个唯一标识的字符串(UUID算法)
ETools.string.addNum(number1, number2)
参数 number1;number2 : 要相加的两个数字
包含浮点数的两个数相加,解决丢失精度的问题
如:ETools.string.addNum(1.1, 1.2) -> “2.3” 如果直接执行1.1+1.2会出现等于2.299999999999999999999的情况
表单验证ETools.vertify.isURL(str)
验证url地址
ETools.vertify.isURL("www.baidu.com")->true
ETools.vertify.isEmpty(str)
验证是否为空
ETools.vertify.isEmpty(" ")->true
ETools.vertify.isDigit(str)
验证是否是数字
ETools.vertify.isDigit("2.0")->false
ETools.vertify.isTelephone(str)
验证固定电话
ETools.vertify.isTelephone("023-55813950")->true
ETools.vertify.isMobile(str)
验证手机号码
ETools.vertify.isMobile("15696544221")->true
ETools.vertify.isQQ(str)
验证QQ号
ETools.vertify.isQQ("1634251421")->true
ETools.vertify.isEmail(str)
验证邮箱地址
ETools.vertify.isEmail("2542152@qq.com")->true
ETools.vertify.isIDCard(str)
验证身份证号码
ETools.vertify.isIDCard("500235199008205570")->true
ETools.vertify.isPlusDigit(str)
验证是否是无符号正整数
ETools.vertify.isPlusDigit("52")->true
ETools.vertify.isChinese(str)
验证中文字符
ETools.vertify.isChinese("我爱你")->true
ETools.vertify.isDate(str)
验证日期
ETools.vertify.isDate("2015-12-12")->true
ETools.vertify.isPostalCode(str)
验证邮政编码
ETools.vertify.isPostalCode("400521")->true
ETools.vertify.isRegisterUserName(str)
验证登录名,只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
ETools.vertify.isRegisterUserName("gong163")->true
ETools.vertify.isTrueName(str)
校验用户姓名:只能输入1-30个以字母开头的字串
ETools.vertify.isTrueName("龚明华")->true
ETools.vertify.isPassword(str)
校验密码:只能输入6-20个字母、数字、下划线
ETools.vertify.isPassword("gong1632542142")->true
数组相关
Array.filterBy(key, value)
从对象数组中根据对象的key筛选值等于value的对象,如果键值对唯一则返回对象,如果不唯一则返回对象数组。
key: 对象中的键,value: 要筛选的键所对应的值
[{name: "张三",age: 12},{name: "张三",age: 33},{name: "lisi",age: 22}].filterBy("name", "张三") -> [{name: "张三",age: 12},{name: "张三",age: 33}];
Cookie操作ETools.cookie.setCookie(name, value, Hours)
设置Cookie值
name:cookie的key,value:cookie的value,Hours:Cookie的超时时间
ETools.cookie.setCookie("username", "xiaoming", 0.5)
ETools.cookie.getCookie(name)
获取Cookie值
name:cookie的key
ETools.cookie.getCookie("username")->"xiaoming"
ETools.cookie.delCookie(name)
删除Cookie
name:cookie的key
ETools.cookie.delCookie("username")
html格式操作ETools.openWindow(url,windowName,width,height)
打开一个弹窗窗口
url打开的链接,windowName窗口的title,width窗口宽度,height窗口高度
ETools.openWindow("www.baidu.com","百度",500,600)
jquery插件checkAll()
表格的行的全选和反全选
$(".checkAll").checkAll();
需要给复选框绑定checkAll()事件。为其加上data-table属性,属性值指向要执行全选的table的id。
如果有多个复选框共同作用于同一个表格,给这些复选框加上相同的data-table属性值即可
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/99964.html
摘要:前言月份开始出没社区,现在差不多月了,按照工作的说法,就是差不多过了三个月的试用期,准备转正了一般来说,差不多到了转正的时候,会进行总结或者分享会议那么今天我就把看过的一些学习资源主要是博客,博文推荐分享给大家。 1.前言 6月份开始出没社区,现在差不多9月了,按照工作的说法,就是差不多过了三个月的试用期,准备转正了!一般来说,差不多到了转正的时候,会进行总结或者分享会议!那么今天我就...
摘要:推荐一些好用的游戏引擎开发库引言如果你是一个游戏开发者,并且正在寻找一个可以与和无缝工作的游戏引擎。是另一个容易使用,适用于移动设备和桌面的游戏引擎。是一个开源的用来创建使用高级技术和服务的游戏引擎。用于建立游戏和绘图引擎。 推荐一些好用的 HTML5 & JavaScript 游戏引擎开发库 0. 引言 如果你是一个游戏开发者,并且正在寻找一个可以与 JavaScript 和 HT...
摘要:推荐一些好用的游戏引擎开发库引言如果你是一个游戏开发者,并且正在寻找一个可以与和无缝工作的游戏引擎。是另一个容易使用,适用于移动设备和桌面的游戏引擎。是一个开源的用来创建使用高级技术和服务的游戏引擎。用于建立游戏和绘图引擎。 推荐一些好用的 HTML5 & JavaScript 游戏引擎开发库 0. 引言 如果你是一个游戏开发者,并且正在寻找一个可以与 JavaScript 和 HT...
阅读 2292·2021-11-22 12:01
阅读 1945·2021-11-12 10:34
阅读 4484·2021-09-22 15:47
阅读 2797·2019-08-30 15:56
阅读 2846·2019-08-30 15:53
阅读 2380·2019-08-30 13:53
阅读 3345·2019-08-29 15:35
阅读 3085·2019-08-29 12:27