0.1.9 • Published 5 years ago

yb-tool v0.1.9

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

前端开发常用工具

npm安装

npm i yb-tool.js --save

常用工具方法

Base64

import { Base64 } from 'yb-tool.js'

// 编码
Base64.encode('123123') // MTIzMTIz

// 解码
Base64.decode('MTIzMTIz') // 123123

NumberComma(source, length = 3)

数字逗号格式化

source: 要格式化的数字

length: 逗号长度

import { NumberComma } from 'yb-tool.js'

NumberComma(21342132)   	// 21,342,132
NumberComma(21342132, 4) 	// 2134,2132
NumberComma(21342132.234)  // 21,342,132.234

NumberPad(source, length = 2)

数字前面O填充

source: 要格式化的数字

length: 数字位数

import { NumberPad } from 'yb-tool.js'

numberPad(1) // 01
numberPad(234, 4) // 0234

NumberRandom(min, max)

在指定范围获取随机数

min: 最小范围

max: 最大范围

import { NumberRandom } from 'yb-tool.js'

NumberRandom(1, 7) // 2

NumberRange(start, end, padWidth = 2)

根据数字范围获取范围数组

start: 开始数字

end: 结束数字

padWidth: 数字位数

import { NumberRange } from 'yb-tool.js'

NumberRange(1, 7) // ["01", "02", "03", "04", "05", "06", "07"]

NumberRange(1, 7, 3) // ["001", "002", "003", "004", "005", "006", "007"]

DateFormat(date, fmt = 'YYYY-MM-DD HH:mm:ss')

时间格式化

date: 时间 Number, Date, String

fmt: 时间格式

import { DateFormat } from 'yb-tool.js'

DateFormat(1540441613479) // 2018-10-25 12:26:53

DateFormat('2018-10-25 12:26:53', '2018/10/25 12:26:53') // 2018/10/25 12:26:53

DateFormat(new Date()) // 2018-10-25 12:29:15

DateRnage(start, end, format = 'YYYY-MM-DD')

时间范围数组(是以天为单位)

start: 开始时间

end: 结束时间

format: 时间格式

const date = new Date()
const date1 = date.getTime() + 1000 * 60 * 60 * 24 * 7
DateRnage(date, date1) // ["2018-10-25", "2018-10-26", "2018-10-27", "2018-10-28", "2018-10-29", "2018-10-30", "2018-10-31", "2018-11-01"]

QueryString

// 参数解析
QueryString.parse('ww=123&xx=www') // { ww: "123", xx: "www" }

// 参数拼接
QueryString.stringify({ ww: "123", xx: "www" }) // ww=123&xx=www

UrlClearFormat(url)

清除Url格式

UrlClearFormat('https://wangyabin.top?wang=xxx') // https://wangyabin.top

CheckFileSize(e, size, key = ’CheckFileSize‘)

校验文件大小

e: 文件对象或者是事件,如果是事件就获取第一个文件

size: 最大文件大小(KB)

key: 指定错误类型(返回的是Promise对象,用于区分catch类型)

CheckFileSize(file, 100).then(() => {
	// 文件大小没有超过指定范围
}).catch(() => {
	// 文件大小没超过指定范围
})

GetOneFile(e, key)

获取第一个文件

e: 事件对象(如果传入的是文件对象直接返回文件)

key: 指定错误类型(返回的是Promise对象,用于区分catch类型)

GetOneFile(e).then(() => {
	// 返回文件对象
}).catch(() => {
	// 没有找到文件
})

AcceptWithSuffixs(arr = [])

通过文件后缀名获取允许的文件类型 Accept 属性

AcceptWithSuffixs(['jpg', 'png']) // image/jpeg,image/png

FileSuffix(e)

获取文件后缀名

e: 文件对象或者是事件,如果是事件就获取第一个文件

FileSuffix(e).then((data) => {
	// 返回文件后缀名
}).catch(() => {
	// 出错
})

LocalImage(e, key = 'LocalImage')

加载本地文件对象,可以直接渲染到img标签或者背景图片

e: 文件对象或者是事件,如果是事件就获取第一个文件

key: 指定错误类型(返回的是Promise对象,用于区分catch类型)

LocalImage(e).then((data) => {
	// 返回文件对象
}).catch(() => {
	// 出错
})

CheckInputType(e, arr = [])

校验文件类型

e: 文件对象或者是事件,如果是事件就获取第一个文件

arr: 允许的文件格式数组(区分大小写)

key: 指定错误类型(返回的是Promise对象,用于区分catch类型)

CheckInputType(e, ['jpg','png']).then((data) => {
	// 返回文件对象
}).catch(() => {
	// 出错
})

ImgCompress(event, maxWidth = 1000)

图片压缩

event: 文件对象或者是事件,如果是事件就获取第一个文件

maxWidth: 压缩的最大宽度(图片长宽如果大于maxWidth就等比压缩)

ImgCompress(e).then((data) => {
	// 返回文件对象
}).catch(() => {
	// 出错
})

ExistFile(e)

判断事件中是否包含文件对象

if(ExistFile(e)) {
	// 事件中有文件对象
} else {
	// 没有文件对象
}

ScrollTop(el, from = 0, to, duration = 500, endCallback);

指定页面动画滚动

el: dom

from: 开始滚动的位置

to: 结束滚动的位置

duration: 持续时间

endCallback: 完成回调

// 返回界面顶部
ScrollTop(window, sTop, 0, 800);

工具类

Timer 定时器类

构造方法

constructor(interval = 1000, repeat = 1)

interval: 事件间隔

repeat: 重复次数

运行定时器

start(func, promptly = false)

func: 需要执行的事件

promptly: 是否立即执行

清除定时器

clearTimer()

延迟函数

主要用于 async await 的时候延迟指定时间

static delay(interval = 1000)

BaseModel(基类模型,不能实例化)

setDataWithJson()

json赋值当前模型

static creatModelWithJson

json转模型

static getModelsWithArr(dataArr)

数组转模型数组

getJson(keys, json = {})

主要用户ajax请求的时候传参

getJson(obj, keys, json = {})

主要用户ajax请求的时候传参

正则

RegAllNum(str) 校验全部是数字

RegNumLength(n, str) 校验指定N位数字

RegNumMinLength(n, str) 校验最少N位数字

RegNumRangeLength(min, max, str) 校验数字位数范围

RegCN(str) 校验汉字

RegEnAngNum(str) 校验英文和数字

RegEn(str) 校验英文

RegEnLocale(str) 校验英文大写字母

RegEnLower(str) 校验英文小写字母

RegEmail(str) 邮箱

RegMobilePhone(str) 手机号

RegPhone(str) 电话号

RegIDCard(str) 身份证号

RegUrl(str) 网址校验