1.1.1 • Published 1 year ago

@bsnbase/utils v1.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

library-tools

工具函数库

ut_dateFormatted

参数类型描述default
datestring日期-
typenumber0:年月日时分秒、1:年月日、2:时分秒、3:年月日时分、4:时分0

日期格式化(凡日期, 统一调用此方法, 不论是否需要),使用统一 process.env.DATAFORMAT 格式

传入完整的日期字符串如“YYYY-MM-DD HH:mm:ss”,根据type的不同对日期格式化,返回相应的日期字符串;

返回格式化后的日期
(date: string, type = 0): string
const date1 = ut_dateFormatted("2023-9-27 16:50:00", 0); // 2023-9-27 16:50:00
const date2 = ut_dateFormatted("2023-9-27 16:50:00", 1); // 2023-9-27
const date3 = ut_dateFormatted("2023-9-27 16:50:00", 2); // 16:50:00
const date4 = ut_dateFormatted("2023-9-27 16:50:00", 3); // 2023-9-27 16:50
const date5 = ut_dateFormatted("2023-9-27 16:50:00", 4); // 16:50

ut_debounce

参数类型描述
func(...arg)=>void回调函数
waitnumber防抖时间
options?object函数配置
options?.key类型描述default
leading?boolean是否在超时前调用false
maxWait?number最大的延时时间(触发间隔)-
trailing?boolean是否在超时后调用true

防抖函数

注意

1、如果设置了maxWait且小于wait属性,则该函数会变成“节流”函数,即 maxWait 时间内若触发了该事件,则到达最大时间的时候会再次执行。

2、如果options.leading和options.trailing都为true,则只有在等待超时期间多次调用已解封的函数时,才会在超时的后边缘调用func;

返回function防抖函数;
const debounce = ut_debounce(
  (...arg): void => {
    console.log(...arg);
  },
  250,
  {
    maxWait: 1000,
  }
);

ut_downLoadFile

参数类型描述
urlstring文件下载地址
namestring文件名

下载文件

下载目标地址的文件,若为ios终端触发时直接页面跳转

无返回值
(url: string, name: string): void
ut_downLoadFile("http://xxx.xxx.xxx/xxxxxx", "file");

ut_escape

参数类型描述
stringstring待转义的字符串

转义 html

转换字符串中的“&”,“<”,“>”,“'”,“'”和“`”字符为相应的HTML实体。注意:不转义其他字符。如果需要转义其他字符,请使用第三方库,如he;在IE < 9中,反引号可以脱离属性值或HTML注释被转义;

返回string转义完成之后的字符串;
const str = ut_escape("<body>"); // "&lt;body&gt;"

ut_getLS

参数类型描述
keystring待转义的字符串

从 localStorage 获取数据

传入键名返回键值(字符串),若该键名不存在则返回空字符串;

返回string键名对应的键值;
(key: string):string
const strVal = ut_getLS("uid");

ut_isEmpty

参数类型描述
keystring待转义的字符串

判断值是否无效

undefined | null | '' 均为无效值,返回true,其他情况为非无效值,返回false;

返回 boolean 是否无效;
(_data: string):boolean
const isEmpty = ut_isEmpty(""); // true
const isEmpty = ut_isEmpty(null); // true
const isEmpty = ut_isEmpty(undefined); // true
const isEmpty = ut_isEmpty("abc"); // false

ut_isMobile

参数类型描述
---

判断当前是否为移动端

若为移动端(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)则返回true

非移动端返回false;

返回boolean当前设备是否为移动端;
(): boolean
const isEmpty = ut_isMobile();

ut_isWXBrowser

参数类型描述
---

判断当前是否为微信浏览器

判断当前打开页面的浏览器是否为微信浏览器;

返回boolean当前页面是否为微信浏览器;
(): boolean
const isWXBrowser = ut_isWXBrowser();

ut_openNewWin

参数类型描述
_urlstring要打开的页面地址

打开新的标签页

ps:传入的_url必须以'http://'或'https://'为开始;

返回 void;
(_url: string): void
const openNewWin = ut_openNewWin("http://xxx.xxxxxxx.xxx/xxxxx");

ut_readFile

参数类型描述
_fileFile上传的文件
fn(el:stringArrayBuffer)=>void回调函数

解析文件内容

fn回调函数在file加载完后执行,其中el为文件解析完成获取到的数据;

返回void;
(file: File, fn: () => void): void
const file:File = new File(...);

ut_readFile(file,(el)=>{
  console.log(...el);
});

ut_round

参数类型描述default
nnumber需要四舍五入的数字-
precisionnumber四舍五入的精度0

四舍五入

传入数字和精度,返回四舍五入后的数字,若没有设置precision则默认为0;

返回 number 四舍五入后的数字;

(n: number, precision: number = 0): void
const num = ut_round(3.14, 1); // 3.1

ut_setLS

参数类型描述
keystring要储存的键名
valuestring对应的键值

向 localStorage 储存数据;

返回 void;
(key: string, value: string):void
ut_setLS("uid", "123456");

ut_thousands

参数类型描述
valuestring | number传入的数字(可为字符串)

数字千分化

将数字千分化,如19999=>"19,999","3245269"=>"3,245,269";

返回string千分制字符串;
(value: string | number):string
const thousands1 = ut_thousands(19999); // "19,999"
const thousands2 = ut_thousands("3245269"); // "3,245,269"

ut_throttle

参数类型描述
func(...arg)=>void回调函数
waitnumber节流时间
options?object函数配置
options?.key类型描述default
leading?boolean是否在超时前调用true
trailing?boolean是否在超时后调用true

节流函数

注意,如果options.leading和options.trailing都为true,则只有在等待超时期间多次调用已解封的函数时,才会在超时的后边缘调用func;

返回function节流函数
const throttle = ut_throttle(
  (...arg): void => {
    console.log(...arg);
  },
  250,
  {
    leading: true,
    trailing: false,
  }
);

ut_unescape

参数类型描述
valuestring待转义的字符串

html 反转义

ut_escape 相反,转换string字符串中的 HTML 实体&amp;, &lt;, &gt;, &quot;,&39;, 和 &96; 为对应的字符

返回 string 转义后的字符;
(value: string): string
const unescape = ut_unescape("&lt;body&gt;"); // "<body>"

ut_clone

参数类型描述
value*待拷贝的数据类型
var objects = [{ a: 1 }, { b: 2 }];
var shallow = ut_clone(objects);
console.log(shallow[0] === objects[0]);
// true

ut_cloneDeep

参数类型描述
value*待拷贝的数据类型
var objects = [{ a: 1 }, { b: 2 }];
var shallow = ut_cloneDeep(objects);
console.log(shallow[0] === objects[0]);
// false

ut_reg

方法参数类型描述
isValidPhonevaluestring验证手机号
isValidEmailvaluestring验证电子邮件
isValidBankCardvaluestring验证是否为银行卡号
isValidDatevaluestring验证日期(格式:YYYY-MM-DD)
isValidTimevaluestring验证时间(格式:HH:MM:SS)
isValidIDCardvaluestring验证身份证号
isValidPostalCodevaluestring验证邮政编码
isAlphavaluestring验证仅包含字母
isValidPhonevaluestring验证仅包含数字
isNumericvaluestring验证手机号
isAlphanumericvaluestring验证仅包含字母和数字
isLowercasevaluestring验证仅包含小写字母
isUppercasevaluestring验证仅包含大写字母
isPositiveIntegervaluestring验证是否为正整数
isNegativeIntegervaluestring验证是否为负整数
isIntegervaluestring验证是否为整数
isFloatvaluestring验证是否为浮点数
isPositiveFloatvaluestring验证是否为正浮点数
isNegativeFloatvaluestring验证是否为负浮点数
isHexColorvaluestring验证是否为浮点数
 ut_reg().isValidPhone(13478789898)
 // true
 ut_reg().isValidPhone('test')
 // false
 ...

ut_reg_patterns

属性描述
phone验证手机号
email验证电子邮件
bankCard验证是否为银行卡号
date验证日期(格式:YYYY-MM-DD)
time验证时间(格式:HH:MM:SS)
idCard验证身份证号
postalCode验证邮政编码
alpha验证仅包含字母
numeric验证仅包含数字
alphanumeric验证仅包含字母和数字
lowercase验证仅包含小写字母
uppercase验证仅包含大写字母
positiveInteger验证是否为正整数
negativeInteger验证是否为负整数
integer验证是否为整数
float验证是否为浮点数
positiveFloat验证是否为正浮点数
negativeFloat验证是否为负浮点数
hexColor验证是否为颜色十六进制代码
 ut_reg_patterns.phone
 //  /^1[3-9]\d{9}$/
 ut_reg_patterns.email
 // /^[^\s@]+@[^\s@]+\.[^\s@]+$/
 ...
1.1.1

1 year ago

1.1.0

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.1.0

2 years ago

0.0.1

2 years ago