1
PC-20250623MANY\Administrator
2025-09-20 9d7de030d38f8d71fdf54ddfe26e46e71f17e9c0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
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);
    }
  }
}