const moment = require("moment-timezone");
|
|
// 设置时区为印度标准时间
|
moment.tz.setDefault("Asia/Kolkata");
|
// 单位用千位分隔符显示
|
export function thousandBitSeparator(str) {
|
var num = parseFloat(str).toFixed(3); // 这里因为我需要两位小数所以做一个限制,你们看情况做小数位的限制
|
var s = num.substring(0, num.length - 1); // 只取小数位2位
|
return (
|
s &&
|
s.toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {
|
return $1 + ",";
|
})
|
);
|
}
|
|
// 判断是不是空 是--true
|
export function isNull(str) {
|
if (str === "" || str === null) {
|
return true;
|
} else {
|
return false;
|
}
|
}
|
export function debounce(fn, delay) {
|
// 时间期限
|
var delay = delay || 200;
|
var timer;
|
// 闭包
|
return function() {
|
// 考虑作用域,上下文环境,apply需要用到this对象
|
var th = this;
|
// 接收的参数用 ES6 中的 rest 参数统一存储到变量 args 中。arguments就是传入的参数数组,而且个数可以不确定的传回给fn(不确定函数到底有多少个参数,用arguments来接收)
|
var args = arguments;
|
// 判断还在定时,说明当前正在一个计时过程中,并且又触发了相同事件。所以要取消当前的计时,重新开始计时
|
if (timer) {
|
clearTimeout(timer);
|
}
|
timer = setTimeout(function() {
|
timer = null;
|
// 执行方法
|
fn.apply(th, args);
|
}, delay);
|
};
|
}
|
// 判断是不是邮箱 是--true
|
export function isEmail(str) {
|
let myreg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/;
|
return myreg.test(str);
|
}
|
|
// 只能中文
|
export function isName(str) {
|
let myreg = /^[\u4E00-\u9FA5]+$/;
|
return myreg.test(str);
|
}
|
|
// 手机号码
|
export function isPhone(mobile) {
|
// let myreg = /^[1][3,4,5,7,8][0-9]{9}$/ //手机号码验证
|
let myreg = /^[0-9]{11}$/; // 手机号码验证
|
return myreg.test(mobile);
|
}
|
|
// 密码 校验
|
export function pwdReg(psd) {
|
let value = psd.replace(/\s*/g, "");
|
let myreg = /^[a-zA-Z0-9!@#$%^&*.]{6,12}$/; // 手机号码验证
|
return myreg.test(value);
|
}
|
|
// 身份证校验
|
export function idCardReg(idcard) {
|
var myreg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
return myreg.test(idcard);
|
}
|
|
// 银行卡校验
|
export function bankNoReg(val) {
|
var myreg = /^([1-9]{1})(\d{14,18})$/;
|
return myreg.test(val);
|
}
|
|
// 数字隐藏显示 *
|
export function hideNumberTo(str) {
|
let number = str.toFixed(2);
|
let arr = number.split(".");
|
let string = "";
|
for (var i = 0; i < arr[0].length; i++) {
|
string += "*";
|
}
|
return string + ".**";
|
}
|
|
// 时间戳转换为时间格式
|
export function timeFormat(date) {
|
return moment(date).format("DD-MM-YYYY hh:mm:ss A");
|
}
|
|
function padLeftZero(str) {
|
return ("00" + str).substr(str.length);
|
}
|
|
// cookie 操作
|
export function setCookie(name, value, day) {
|
if (day !== 0) {
|
// 当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
|
var curDate = new Date();
|
var curTamp = curDate.getTime();
|
var curWeeHours = new Date(curDate.toLocaleDateString()).getTime() - 1;
|
var passedTamp = curTamp - curWeeHours;
|
var leftTamp = 24 * 60 * 60 * 1000 - passedTamp;
|
var leftTime = new Date();
|
leftTime.setTime(leftTamp + curTamp);
|
document.cookie =
|
name + "=" + escape(value) + ";expires=" + leftTime.toGMTString();
|
} else {
|
document.cookie = name + "=" + escape(value);
|
}
|
}
|
|
// get
|
export function getCookie(name) {
|
var arr;
|
var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
|
arr = document.cookie.match(reg);
|
if (arr) {
|
return unescape(arr[2]);
|
} else {
|
return null;
|
}
|
// document.cookie = name + "=" + escape(value);
|
}
|
|
export function clearCookie() {
|
this.setCookie("USER_TOKEN", "", -1);
|
}
|
|
//
|
export function checkCookie() {
|
var user = this.getCookie("USER_TOKEN");
|
if (user !== "") {
|
alert("Welcome again " + user);
|
} else {
|
user = prompt("Please enter your name:", "");
|
if (user !== "" && user != null) {
|
this.setCookie("USER_TOKEN", user, 365);
|
}
|
}
|
}
|