新建公共方法js文件(例:public.js)
1、校驗(yàn)手機(jī)號(hào)碼
export function checkMobile(mobile) {
? ??return mobile == null ? false : /^(((1[3456789][0-9]{1})|(15[0-9]{1}))+\d{8})$/.test(mobile);
}
2务蝠、校驗(yàn)是否為空
export function isBlank(input) {
? ??????return input == null || input == undefined || input == '';
}
3拍谐、判斷字符串長(zhǎng)度,如果是漢字則為1
export function strLength(str) {
? ??????var leng = 0;
? ??????for (var i = 0; i < str.length; i++) {
? ??????????????var?num = str.charCodeAt(i);
? ??????????????leng++;
? ? ? ? }
? ??????return leng;
}
4馏段、獲取url中參數(shù)的值
export function getQueryString(name) {
? ??????var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
? ??????var r = window.location.search.substr(1).match(reg);
? ??????if (r != null) {
? ??????????????return unescape(r[2]);
? ? ? ? }
? ??????return null;
}
5轩拨、校驗(yàn)郵箱
export function checkEmail(str) {
? ??????var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$");
? ? ? ? if(str.length<1 ||?!reg.test(str)) {
? ? ? ? ? ????? return false;
? ? ? ? }else{
? ? ? ? ? ? ? ? return true;
? ? ? ? }
}
6、返回格式化日期
export function correctDateFormat(tim) {
? ??????let time = new Date(tim);
? ??????let y = time.getFullYear();
? ??????let m = time.getMonth() + 1;
? ??????let d = time.getDate();
? ??????let newM = m < 10 ? '0' + m : m;
? ??????let newD = d < 10 ? '0' + d : d;
? ? ? ? return y + '-' + newM + '-' + newD;
}
7院喜、返回格式化日期時(shí)間
export function correctDatetimeFormat(tim) {
? ??????let time = new Date(tim);
????????let date =?correctDateFormat(tim)
? ??????let h = time.getHours();
? ??????let m = time.getMinutes();
? ??????let s = time.getSeconds();
? ??????let newH = h < 10 ? '0' + h : h;
? ??????let newM = m < 10 ? '0' + m : m;
? ??????let newS = s < 10 ? '0' + s : s;
? ? ? ? return?date + ' ' + newH + ':' + newMM + ':' + newS;
}
8亡蓉、數(shù)組去重(例:[1,2,3,1,12,3])
export function simpleDuplicateRemoval(arr) {
? ? ? ? return?Array.from(new Set(arr));
}
9、根據(jù)key排序(例:[{id:? 1, value: 'asaa'}])
export function?arraySort(arr, key) {
? ? ? ? let brr = arr;
? ? ? ? brr.sort(function(a,b){
? ??????????????return a[key]- b[key];
? ??????})
? ? ? ? return?brr;
}
10喷舀、根據(jù)生日計(jì)算年齡
export function countAgeByBirthday(bir) {
? ? ? ? return??(new Date().getFullYear() - scope.row.Birthday.split("-")[0])
}
11砍濒、根據(jù)身份證計(jì)算年齡
export function?countAgeByCard(num) {
? ? return (new Date().getFullYear() -?num.substring(6, 10));
}
12、計(jì)算兩時(shí)間差(分鐘)
export function?dateDiff(firstDate, secondDate) {
? ??????var firstDate = new Date(firstDate);
? ??????var secondDate = new Date(secondDate);
? ??????var diff = firstDate.getTime() - secondDate.getTime();
? ??????var result = Math.floor(diff / (1000 * 60));
? ??????return result;
}
13硫麻、生成指定數(shù)值隨機(jī)數(shù)
export function?dateDiff(minNum, maxNum) {
? ??????return Math.floor(min + Math.random() * (max - min));
}
14梯影、檢測(cè)當(dāng)前環(huán)境是否為手機(jī)
export function checkPhone() {
? ??????var sUserAgent = navigator.userAgent.toLowerCase();
????????if (/ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test( sUserAgent )){
? ? ? ? ? ? ? ? return?true;
? ? ? ? }else{
? ??????????????return?false;
? ? ? ? }
}
15、存儲(chǔ)Cookie
export function addCookie(objName, objValue, objHours) {
? ??????var str = objName + "=" + escape(objValue); // 編碼
? ??????if (objHours > 0) { // 為0時(shí)不設(shè)定過(guò)期時(shí)間庶香,瀏覽器關(guān)閉時(shí)cookie自動(dòng)消失
? ??????????????var date = new Date();
? ??????????????var ms = objHours * 3600 * 1000;
? ??????????????date.setTime(date.getTime() + ms);
? ??????????????str += "; expires=" + date.toGMTString();
? ? ? ? }
? ??????document.cookie = str;
}
16甲棍、刪除Cookie
export function clearCookie(objName) {
? ??????var str = objName + "=" + escape(""); // 編碼
? ??????var date = new Date("1990-01-01");
? ??????var ms = objHours * 3600 * 1000;
? ??????date.setTime(date.getTime() + ms);
? ??????str += "; expires=" + date.toGMTString();
? ??????document.cookie = str;
}
17、獲取指定名稱Cookie
export function getCookie(objName) {
? ??????var arrStr = document.cookie.split("; ");
? ??????for (var i = 0; i < arrStr.length; i++) {
? ??????????????var temp = arrStr[i].split("=");
? ??????????????if (temp[0] == objName){
? ???????????????????????return unescape(temp[1]);
? ? ? ? ? ? ? ? }
? ? ? ? }
? ? ? ? return "";
}
18、獲取當(dāng)前日期前后幾天日期
export function DifferenceDate(count) {
? ??????var dd = new Date();
????????dd.setDate(dd.getDate() + count);
? ??????var y = dd.getFullYear();
? ??????var m = dd.getMonth() + 1;
? ??????var d = dd.getDate();
? ??????return y + "-" + (m < 10 ? '0' + m : m) + "-" + (d < 10 ? '0' + d : d);
}