推荐一个js常用工具函数库etools

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/ETools


版本说明

  • 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=ddd”)输出结果{aaa:bbb,ccc:ddd}

    查看演示>>

  • ETools.urlParamToObj(url)

    将连接中的get请求参数转换成json对象

    url:链接

    ETools.deparam("www.baidu.com?aaa=bbb&ccc=ddd")输出结果{aaa:bbb,ccc:ddd}

事件
  • 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 h:m:s 星期w"

    ETools.datetime.Format(new Date(),“yyyy-MM-dd hⓂ️s 星期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 身份证号 如:"******19951208***x"

    ETools.datetime.getAgeByIDCard("******19951208***x") – 23

####html格式操作

  • ETools.html.htmlEncode(str)

    把html中的常见符号转换成特殊符号码,如"<“转换成

    ”&lt;"

    参数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属性值即可

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
转自 音响艺苑论坛 多功能电子计算软件eTools 2.67 (2011-6-22更新) 2011-6-22更新 增加 波形发生器 可输出正弦波,方波,三角波,白噪声,粉红噪声,褐噪声.波形频率为20到400000之间的整数.波形长度为1到300之间的整数.煲箱功能可以输出粉红噪声进行煲机,煲箱.(特别感谢艺苑论坛会员"笑嘻嘻"提供帮助建议!) 2010-4-12更新 修复整流滤波电路模块bug。 2009-09-01更新 根据网友反馈,RC无源滤波错误。已经更新。 2009-08-14更新 2.64重新用unicode编译了下。用繁体版本windows操作系统的可以试试还有乱码否?! 2009-04-13更新 根据浙江奉化网友张先生的建议和提供资料,二分频计算增加-6dB交叉点方法。 特此鸣谢! 2008-11-08更新 RC无源滤波,有源滤波,差分LPF几项功中,R,C,F的单位改为可以更改的,输入计算更方便些。 20081020更新 1.色环电阻增加了多种精度 2.衰减/补偿 模块下,增加电压和分贝(dBV)换算 3.载流计算 模块下,增加了mm,Mil,inch之间换算 4.RC时间常数 模块下,根据楼上网友建议,增加ns级别 20080926更新 1.应网友要求,电阻反向串,并联推算去掉标准阻值的计算限制 ======================================================= 20080922更新 1.增加PCB,铜,铝线的载流计算 2.增加单相整流滤波电路计算 3.增加用波段开关制作音量电位器的试算 ========================================= 20080914更新 1.应网友locky_z要求,增加串、并联的反向推算。 即已知目标值R0,求出R1,R2。已支持E24,E96系列标准阻值推算,以及非标准阻值的计算。 ========================================= 20080911更新 1.应网友要求,新增hifi diy网友 av-rgb的环牛,e牛,C牛计算方法 ========================================= 20080901更新 1.规范了示意图 2.统一单位 3.提高电阻串并联的计算精度 ========================================= 软件介绍: 支持功能如下: 1.方程式 支持一元二次,一元一次,二元一次方程求值.支持正负数,小数系数输入 2.电阻串并联 支持电阻串联,并联,反并联计算 3.色环电阻识别 支持市面常见4,5环电阻.支持从阻值反算色环。 4.LM317稳压阻值 支持LM317,LM337,LM350等常见三端稳压参考阻值和输出电压计算.支持作为恒流源时计算电阻R 5.TL431参考 TL431精密参考电压常用电路阻值和输出电压计算. 6.RC无源滤波电路计算 7.有源二阶滤波 这是常用的2阶滤波电路(12dB/oct),支持高低通,巴特沃斯和贝塞尔算法.可以从R,C求F(勾选);也可以从F,R(或C)求C(或R). 8.差分二阶LPF 这个电路常用于差分输出的DAC的LPF电路.支持巴特沃斯和贝塞尔算法. 9.环形变压器 该功能可求出已知铁心功率,初/次级匝数比,初级线径等.你只需要量出该铁心内外直径,和高度,以及厂方给出的磁通量.该计算结果可作为绕制环形变压器的依据. 10.EI变压器设计 功能同上 11.多层电感 此功能用于空心多层电感的估算(如音箱分频器的空心电感).只需输入所要的电感量和直流电阻即可.据资料说明,此方法绕制所得线圈电感量和目标电感量误差在5%内. 12.密闭音箱 根据单元参数,估算音箱容积和箱体各面板尺寸,支持2种算法,支持容积补偿。 13.倒相音箱 功能同上,支持2种设计方法,计算结果比密闭箱多了倒相管长度和箱体Q值等。 14.二分频 支持-6db/oct,-12db/oct,-18db/oct,-24db/oct的巴特沃斯功率分频计算。 15.三分频 功能同上。 16.喇叭阻抗补偿,衰减网络计算 17.RC常数 RC时间常数是电路里经常用到的.该功能可以计算RC电路上,电容C到某个电压时候的充放电时间;也可以计算经过t时刻,电容C两端的电压值. 语蓝 2008年8月18日 ==========================================================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值