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屬性值即可
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/99964.html
摘要:前言月份開始出沒社區,現在差不多月了,按照工作的說法,就是差不多過了三個月的試用期,準備轉正了一般來說,差不多到了轉正的時候,會進行總結或者分享會議那么今天我就把看過的一些學習資源主要是博客,博文推薦分享給大家。 1.前言 6月份開始出沒社區,現在差不多9月了,按照工作的說法,就是差不多過了三個月的試用期,準備轉正了!一般來說,差不多到了轉正的時候,會進行總結或者分享會議!那么今天我就...
摘要:推薦一些好用的游戲引擎開發庫引言如果你是一個游戲開發者,并且正在尋找一個可以與和無縫工作的游戲引擎。是另一個容易使用,適用于移動設備和桌面的游戲引擎。是一個開源的用來創建使用高級技術和服務的游戲引擎。用于建立游戲和繪圖引擎。 推薦一些好用的 HTML5 & JavaScript 游戲引擎開發庫 0. 引言 如果你是一個游戲開發者,并且正在尋找一個可以與 JavaScript 和 HT...
摘要:推薦一些好用的游戲引擎開發庫引言如果你是一個游戲開發者,并且正在尋找一個可以與和無縫工作的游戲引擎。是另一個容易使用,適用于移動設備和桌面的游戲引擎。是一個開源的用來創建使用高級技術和服務的游戲引擎。用于建立游戲和繪圖引擎。 推薦一些好用的 HTML5 & JavaScript 游戲引擎開發庫 0. 引言 如果你是一個游戲開發者,并且正在尋找一個可以與 JavaScript 和 HT...
閱讀 2324·2021-11-22 12:01
閱讀 2001·2021-11-12 10:34
閱讀 4527·2021-09-22 15:47
閱讀 2839·2019-08-30 15:56
閱讀 2874·2019-08-30 15:53
閱讀 2412·2019-08-30 13:53
閱讀 3389·2019-08-29 15:35
閱讀 3132·2019-08-29 12:27