npm install -s etools
經過es6模塊引入,如import _ from "etools";console.log(_.extend(true,{},{"age":23}));
css
直接調用ETool對象中得方法,如console.log(ETools.extend(true,{},{"age":23}));
html
ETools.extend(deep,obj1,obj2)
jquery
做用:相似於jquery.extend方法,合併json對象,並將合併後的對象保存到obj1中做爲返回值git
參數:es6
1. deep,是否深度複製,設爲true,會複製對象中嵌套的對象。 2. obj1,obj2,要合併的對象
案例:`ETools.extend(true,{"name":"zhangsan",gender:"male"},{"age":12})` 輸出結果`{"name":"zhangsan",gender:"male","age":12}` 說明,咱們能夠將obj1設爲空{},用這個方法克隆一個對象,解決引用類型賦值的問題
ETools.deparam(str)
將jquery序列化表單以後獲得的參數字符串轉換成標準的json對象github
str,即要格式化的字符串算法
ETools.deparam("aaa=bbb&ccc=ddd")輸出結果{aaa:bbb,ccc:ddd}npm
查看演示>>json
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類型的時間轉換成指定格式的字符串
<p>date:日期類型的對象(如:new Data())</p>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)
將時間字符串轉換成對應的時間戳
<p>timeStr:時間字符串(如:"2015-16-24 15:16:15")</p>
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
ETools.html.htmlEncode(str)
把html中的常見符號轉換成特殊符號碼,如"<"轉換成<pre>"<"</pre>
參數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"}
獲取字符串長度,中文字符按兩個長度計算
str:要計算的字符串
ETools.string.getStrLength("ilove你")->7
去掉字符串左右的空格
str:要去空格的字符串
ETools.string.getStrLength(" aaa ")->"aaa"
參數 number : 要轉換的數字
把1,2,3,4....,99999 類型的數字轉換成中文字符串
如:ETools.string.number2String(123) -> 「一百二十三」
生成一個惟一標識的字符串(UUID算法)
參數 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: 要篩選的鍵所對應的值
[{name: '張三',age: 12},{name: '張三',age: 33},{name: 'lisi',age: 22}].filterBy('name', '張三') -> [{name: '張三',age: 12},{name: '張三',age: 33}];
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")
ETools.openWindow(url,windowName,width,height)
打開一個彈窗窗口
url打開的連接,windowName窗口的title,width窗口寬度,height窗口高度
ETools.openWindow("www.baidu.com","百度",500,600)
checkAll()
表格的行的全選和反全選
$(".checkAll").checkAll();
須要給複選框綁定checkAll()事件。爲其加上data-table屬性,屬性值指向要執行全選的table的id。
若是有多個複選框共同做用於同一個表格,給這些複選框加上相同的data-table屬性值便可