加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
SUtil.ts 6.37 KB
一键复制 编辑 原始数据 按行查看 历史
Seven 提交于 2024-05-06 10:39 . EventManager
// // 框架所有工具封装的便捷方法定义
// import { eventManager } from "./Event/EventManager";
// import Logger from "./Logger/Logger";
// // validator
// export class Validator {
// public isUrl(str: string) {
// return str.startsWith('http://') || str.startsWith('https://')
// }
// /**
// * @description 判断是否是一个有效邮箱
// */
// public isMail(mailAddress: string) {
// let regex = /^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g;
// return regex.test(mailAddress);
// }
// /**
// * @description 判断是否是一个有效的电话号码
// * 注意 : 限中国地区手机号
// * 目前匹配号段
// * 中国电信号段
// * 133、149、153、173、177、180、181、189、199
// * 中国联通号段
// * 130、131、132、145、155、156、166、175、176、185、186
// *
// * 中国移动号段
// * 134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198
// *
// * 其他号段
// * 14号段以前为上网卡专属号段,如联通的是145,移动的是147等等。
// *
// * 虚拟运营商
// *
// * 电信:1700、1701、1702
// *
// * 移动:1703、1705、1706
// *
// * 联通:1704、1707、1708、1709、171
// */
// public isTEL(tel: string) {
// let regex = /^1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}$/g;
// return regex.test(tel);
// }
// /**
// * @description 判断是否是一个有效的中国公民身份证号码
// * @param id
// * @returns
// */
// public isIDNumber(id: string) {
// //18 位身份证号
// let test = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/g;
// if (test.test(id)) {
// return true;
// }
// return false;
// }
// /**
// * @description 判断是否是腾讯QQ号(腾讯QQ号从10000开始)
// * @param qq
// */
// public isQQ(qq: string) {
// let test = /^[1-9][0-9]{4,}$/;
// if (test.test(qq)) {
// return true;
// }
// return false;
// }
// }
// // string
// /**
// * @description 格式化成K,M,B,T计数单位
// * @param data 传入数值,支持科学计数法
// * @param point 精确小数点位数 默认为2位
// */
// export function toFormat(data: number, point: number = 2) {
// let K = 1000;
// let scales: { [key: string]: number } = {
// K: K,
// M: K * K,
// B: K * K * K,
// T: K * K * K * K
// }
// let units = ["K", "M", "B", "T"];
// let unit = "";
// let numberString = "";
// let tempValue = 0;
// let flag = 1;
// if (data < 0) {
// flag = -1;
// }
// data = Math.abs(data);
// if (data < K) {
// numberString = data.toFixed(point);
// } else {
// for (let i = units.length - 1; i >= 0; i--) {
// let scale = scales[units[i]];
// tempValue = data / scale;
// if (tempValue >= 1) {
// numberString = tempValue.toFixed(point);
// unit = units[i];
// break;
// }
// }
// }
// tempValue = parseFloat(numberString);
// return `${tempValue * flag}${unit}`;
// }
// /**
// * @description 将K,M,B,T显示的字符串转换成数值
// * @param formatValue 传入格式化的字符串 1.2K 支持科学计数法
// * @param point 获取精确小数点位数
// * @example
// * toNumber("1.234567K",2) = 1234.57
// * toNumber("1.e3K",2) = 1000000
// * toNumber("qqq1.e3Kee",2) = 1000000
// */
// export function toNumber(formatValue: string, point: number = 2) {
// let reg = /-?\d+e?[+-]?\d+[KMBT]?|-?\d*\.\d*e?[+-]?\d*[KMBT]?|-?\d+[KMBT]?/;
// let matchs = formatValue.match(reg);
// if (matchs && matchs.length > 0) {
// //摘取字符串中的数值
// let K = 1000;
// let scales: { [key: string]: number } = {
// K: K,
// M: K * K,
// B: K * K * K,
// T: K * K * K * K
// }
// let valueStr = ""
// for (let index = 0; index < matchs.length; index++) {
// valueStr += matchs[index];
// }
// let unitMatch = valueStr.match(/[KMBT]/);
// let unit: string = "";
// if (unitMatch && unitMatch.length > 0) {
// unit = unitMatch[0];
// }
// let numberPart = valueStr.substring(0, valueStr.length - unit.length);
// let numberValue = parseFloat(numberPart);
// let scale = scales[unit];
// if (scale) {
// //放在整数部分
// numberValue *= scale;
// }
// return parseFloat(numberValue.toFixed(point));
// }
// return 0;
// }
// // math
// export function randomRangeInt(min: number, max: number) {
// let value = (max - min) * Math.random() + min;
// return Math.floor(value);
// }
// export function randomRange(min: number, max: number) {
// return (max - min) * Math.random() + min;
// }
// // cc.Label
// /**
// * @description 指定宽度显示字符串内容,如果超过指定宽度则显示为 xxx..的形式
// * @param content 显示内容
// * @param maxLength 最大长度
// * @param suffix 超出显示宽度时,后缀
// */
// export function limitString(content: string, maxLength: number = 10, suffix: string = "..") {
// this.string = content;
// let contentLength: number = content.length;
// if (contentLength <= maxLength) {
// this.string = content;
// return;
// }
// let maxContentLength: number = maxLength - suffix.length;
// this.string = `${content.substring(0, maxContentLength)}${suffix}`;
// }
// /**
// * @description 转换成千分位分隔形式
// * @example
// * 1000000000 --> 1,000,000,000
// * */
// export function toThousandths(data: number) {
// let prefix: string = "";
// if (data < 0) {
// data *= -1;
// prefix = '-';
// }
// let digitParten = /(^|\s)\d+(?=\.?\d*($|\s))/g;
// let miliParten = /(?=(?!\b)(\d{3})+\.?\b)/g
// let str: string = data.toString().replace(digitParten, (m) => {
// return m.replace(miliParten, ",");
// })
// return prefix + str;
// }
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化