新建公共方法js文件(例:public.js)
1、校验手机号码
export function checkMobile(mobile) {
return mobile == null ? false : /^(((1[3456789][0-9]{1})|(15[0-9]{1}))+\d{8})$/.test(mobile);
}
2、校验是否为空
export function isBlank(input) {
return input == null || input == undefined || input == '';
}
3、判断字符串长度,如果是汉字则为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中参数的值
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、校验邮箱
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、返回格式化日期时间
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、数组去重(例:[1,2,3,1,12,3])
export function simpleDuplicateRemoval(arr) {
return Array.from(new Set(arr));
}
9、根据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、根据生日计算年龄
export function countAgeByBirthday(bir) {
return (new Date().getFullYear() - scope.row.Birthday.split("-")[0])
}
11、根据身份证计算年龄
export function countAgeByCard(num) {
return (new Date().getFullYear() - num.substring(6, 10));
}
12、计算两时间差(分钟)
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、生成指定数值随机数
export function dateDiff(minNum, maxNum) {
return Math.floor(min + Math.random() * (max - min));
}
14、检测当前环境是否为手机
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、存储Cookie
export function addCookie(objName, objValue, objHours) {
var str = objName + "=" + escape(objValue); // 编码
if (objHours > 0) { // 为0时不设定过期时间,浏览器关闭时cookie自动消失
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、获取当前日期前后几天日期
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);
}