From 9383bf5b9321361331c842352c871cb2693df693 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Sun, 10 Aug 2025 16:25:09 +0800
Subject: [PATCH] 1
---
src/utils/utils.js | 196 ++++++++++++++++++++++++++++++------------------
1 files changed, 123 insertions(+), 73 deletions(-)
diff --git a/src/utils/utils.js b/src/utils/utils.js
index efd89ea..5a703c3 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -1,100 +1,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 + ','
- })
+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
+export function isNull(str) {
+ if (str === "" || str === null) {
+ return true;
} else {
- return false
+ 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 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-\u9FA5A-Za-z]+$/
- return myreg.test(str)
+// 只能中文
+export function isName(str) {
+ let myreg = /^[\u4E00-\u9FA5]+$/;
+ return myreg.test(str);
}
// 手机号码
-export function isPhone (mobile) {
+export function isPhone(mobile) {
// let myreg = /^[1][3,4,5,7,8][0-9]{9}$/ //手机号码验证
- let myreg = /^[0-9]{11}$/ // 手机号码验证
- return myreg.test(mobile)
+ 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('.')
- console.log(arr)
- let string = ''
+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 += '*'
+ string += "*";
}
- return string + '.**'
+ return string + ".**";
}
// 时间戳转换为时间格式
-export function timeFormat (val) {
- let fmt = 'yyyy-MM-dd hh:mm:ss'
- // let date = new Date(time)
- if (!val) {
- return
+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);
}
- let date = new Date(val)
- if (/(y+)/.test(fmt)) {
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
+}
+
+// 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;
}
- let o = {
- 'M+': date.getMonth() + 1,
- 'd+': date.getDate(),
- 'h+': date.getHours(),
- 'm+': date.getMinutes(),
- 's+': date.getSeconds()
- }
- for (let k in o) {
- if (new RegExp(`(${k})`).test(fmt)) {
- let str = o[k] + ''
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str))
+ // 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);
}
}
- return fmt
}
-
-function padLeftZero (str) {
- return ('00' + str).substr(str.length)
-}
-
-
-export function formatDate(date, fmt) {
- if (/(y+)/.test(fmt)) {
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
- }
- let o = {
- 'M+': date.getMonth() + 1,
- 'd+': date.getDate(),
- 'h+': date.getHours(),
- 'm+': date.getMinutes(),
- 's+': date.getSeconds()
- };
- for (let k in o) {
- if (new RegExp(`(${k})`).test(fmt)) {
- let str = o[k] + '';
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
- }
- }
- return fmt;
-};
\ No newline at end of file
--
Gitblit v1.9.3