XEUtils 函数库

XEUtils 提供一套实用的基础函数、任意格式的日期转换函数,浏览器相关操作函数等...
兼容性
7+ ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 6.1+ ✔ |
CDN 安装
使用 script 方式安装,XEUtils 会定义为全局变量
生产环境请使用 xe-utils.min.js,更小的压缩版本,可以带来更快的速度体验。
cdnjs 获取最新版本
点击浏览已发布的所有 npm 包源码
<script src="https://cdn.jsdelivr.net/npm/xe-utils/dist/xe-utils.js"></script>
unpkg 获取最新版本
点击浏览已发布的所有 npm 包源码
<script src="https://unpkg.com/xe-utils/dist/xe-utils.js"></script>
AMD 安装
require.js
require.config({
paths: {
'xe-utils': './dist/xe-utils.min'
}
})
define('xe-utils', function (XEUtils) {
XEUtils.dateToString(new Date())
})
NPM 安装
npm install xe-utils --save
NodeJS 导入
const XEUtils = require('xe-utils')
ES6 Module import 部分导入
import { dateToString, stringToDate } from 'xe-utils'
dateToString(new Date())
stringToDate('2018-01-01 10:30:00')
ES6 Module import 导入所有
import XEUtils from 'xe-utils'
全局参数设置
import XEUtils from 'xe-ajax'
XEUtils.setup({
formats : {
W: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
q: ['第一季度', '第二季度', '第三季度', '第四季度']
}
})
API
isNaN (val) 判断是否非数值
import XEUtils from 'xe-utils'
XEUtils.isNaN(undefined)
XEUtils.isNaN({})
XEUtils.isNaN('num')
XEUtils.isNaN(true)
XEUtils.isNaN(null)
XEUtils.isNaN('')
isFinite (val) 判断是否为有限数值
import XEUtils from 'xe-utils'
XEUtils.isFinite(NaN)
XEUtils.isFinite(0)
XEUtils.isFinite(2e64)
isUndefined (val) 判断Undefined
import XEUtils from 'xe-utils'
XEUtils.isUndefined(0)
XEUtils.isUndefined()
isArray (val) 判断是否数组
import XEUtils from 'xe-utils'
XEUtils.isArray(null)
XEUtils.isArray({})
XEUtils.isArray([1,2,3])
isFloat (val) 判断是否小数
import XEUtils from 'xe-utils'
XEUtils.isFloat(null)
XEUtils.isFloat(0)
XEUtils.isFloat(3)
XEUtils.isFloat(3.3)
isInteger (val) 判断是否整数
import XEUtils from 'xe-utils'
XEUtils.isInteger(null)
XEUtils.isInteger(3.3)
XEUtils.isInteger(3)
XEUtils.isInteger(0)
isFunction (val) 判断是否方法
import XEUtils from 'xe-utils'
XEUtils.isFunction({})
XEUtils.isFunction(function(){})
isBoolean (val) 判断是否Boolean对象
import XEUtils from 'xe-utils'
XEUtils.isBoolean('false')
XEUtils.isBoolean(true)
isString (val) 判断是否String对象
import XEUtils from 'xe-utils'
XEUtils.isString(1)
XEUtils.isString(true)
XEUtils.isString('')
XEUtils.isString('abc')
isNumber (val) 判断是否Number对象
import XEUtils from 'xe-utils'
XEUtils.isNumber(null)
XEUtils.isNumber('1')
XEUtils.isNumber(1)
isRegExp (val) 判断是否RegExp对象
import XEUtils from 'xe-utils'
XEUtils.isRegExp(null)
XEUtils.isRegExp('a')
XEUtils.isRegExp(new RegExp('a'))
XEUtils.isRegExp(/\a/)
isObject (val) 判断是否Object对象
import XEUtils from 'xe-utils'
XEUtils.isObject(null)
XEUtils.isObject([])
XEUtils.isObject({})
XEUtils.isObject(123)
isPlainObject (val) 判断是否是一个对象
import XEUtils from 'xe-utils'
XEUtils.sPlainObject(null)
XEUtils.isPlainObject([])
XEUtils.isPlainObject(123)
XEUtils.isPlainObject({})
isDate (val) 判断是否Date对象
import XEUtils from 'xe-utils'
XEUtils.isDate('2017-12-20')
XEUtils.isDate({})
XEUtils.isDate(1514096716800)
XEUtils.isDate(new Date())
isError (val) 判断是否Error对象
import XEUtils from 'xe-utils'
XEUtils.isError(null)
XEUtils.isError({})
XEUtils.isError(new Error('error'))
isTypeError (val) 判断是否TypeError对象
import XEUtils from 'xe-utils'
XEUtils.isTypeError(null)
XEUtils.isTypeError({})
XEUtils.isTypeError(new TypeError('error'))
isEmpty (val) 判断是否为空,包括空对象、空数值、空字符串
import XEUtils from 'xe-utils'
XEUtils.isEmpty(0)
XEUtils.isEmpty('')
XEUtils.isEmpty(null)
XEUtils.isEmpty({})
XEUtils.isEmpty([]])
isNull (val) 判断是否为Null
import XEUtils from 'xe-utils'
XEUtils.isNull(0)
XEUtils.isNull('')
XEUtils.isNull(null)
isSymbol (val) 判断是否Symbol对象
import XEUtils from 'xe-utils'
XEUtils.isSymbol('a')
XEUtils.isSymbol(Symbol('a'))
isArguments (val) 判断是否Arguments对象
import { isArguments } from 'xe-utils'
isArguments([])
isArguments(arguments)
isElement (val) 判断是否Element对象
import XEUtils from 'xe-utils'
XEUtils.isElement({})
XEUtils.isElement(document.createElement('div'))
isDocument (val) 判断是否Document对象
import XEUtils from 'xe-utils'
XEUtils.isDocument(document.createElement('div'))
XEUtils.isDocument(document)
isWindow (val) 判断是否Window对象
import XEUtils from 'xe-utils'
XEUtils.isWindow(document)
XEUtils.isWindow(window)
isFormData (val) 判断是否FormData对象
import XEUtils from 'xe-utils'
XEUtils.isFormData({})
XEUtils.isFormData(new FormData())
isMap (val) 判断是否Map对象
import XEUtils from 'xe-utils'
XEUtils.isMap({})
XEUtils.isMap(new Map())
isWeakMap (val) 判断是否WeakMap对象
import XEUtils from 'xe-utils'
XEUtils.isWeakMap({})
XEUtils.isWeakMap(new WeakMap())
isSet (val) 判断是否Set对象
import XEUtils from 'xe-utils'
XEUtils.isSet({})
XEUtils.isSet(new Set())
isWeakSet (val) 判断是否WeakSet对象
import XEUtils from 'xe-utils'
XEUtils.isWeakSet({})
XEUtils.isWeakSet(new WeakSet())
isLeapYear (date) 判断是否闰年
import XEUtils from 'xe-utils'
XEUtils.isLeapYear()
XEUtils.isLeapYear('2018-12-01')
XEUtils.isLeapYear('2020-12-01')
XEUtils.isLeapYear(new Date('2020/12/01'))
getType (obj) 获取对象类型
import XEUtils from 'xe-utils'
XEUtils.getType()
XEUtils.getType(null)
XEUtils.getType('')
XEUtils.getType(1)
XEUtils.getType([])
XEUtils.getType({})
XEUtils.getType(function(){})
uniqueId ( prefix ) 获取一个全局唯一标识
import XEUtils from 'xe-utils'
XEUtils.uniqueId()
XEUtils.uniqueId()
XEUtils.uniqueId('prefix_')
getSize ( obj ) 返回对象的长度
import XEUtils from 'xe-utils'
XEUtils.getSize('123')
XEUtils.getSize([1, 3])
XEUtils.getSize({a: 2, b: 5})
indexOf (obj, val) 返回对象第一个索引值
import XEUtils from 'xe-utils'
XEUtils.indexOf([11], 22)
XEUtils.indexOf([11, 22], 22)
lastIndexOf (obj, val) 从最后开始的索引值,返回对象第一个索引值
import XEUtils from 'xe-utils'
XEUtils.lastIndexOf([11], 22)
XEUtils.lastIndexOf([11, 22], 22)
includes (obj, val) 判断对象是否包含该值,成功返回true否则false
import XEUtils from 'xe-utils'
XEUtils.includes([11], 22)
XEUtils.includes([11, 22], 22)
includeArrays (array1, array2) 判断数组是否包含另一数组
import XEUtils from 'xe-utils'
XEUtils.includeArrays([11, 22, 33], [])
XEUtils.includeArrays([11, 22, 33], [11])
XEUtils.includeArrays([11, 22, 33], [22, 33])
XEUtils.includeArrays([11, 22, 33], [22, 44])
bind (callback, context[, ...arguments]) 创建一个绑定上下文的函数
import XEUtils from 'xe-utils'
var rest = XEUtils.bind(function (val) {
return this.name + ' = ' + val
}, {name: 'test'})
rest(222)
once (callback, context[, ...arguments]) 创建一个只能调用一次的函数,只会返回第一次执行后的结果
import XEUtils from 'xe-utils'
var rest = XEUtils.once(function (val) {
return this.name + ' = ' + val
}, {name: 'test'})
rest(222)
rest(333)
assign/objectAssign/extend ([deep], target, ...) 浅拷贝一个或者多个对象到目标对象中,如果第一值是true,则使用深拷贝
import XEUtils, { objectAssign } from 'xe-utils'
const obj1 = {a: null}
XEUtils.assign(obj1, {a: 11})
const obj2 = {a: null}
const obj3 = {bb: {b: 11}}
const obj4 = objectAssign(obj2, {a: 11})
obj3.bb = 22
const obj2 = {a: null}
const obj3 = {bb: {b: 11}}
const obj4 = XEUtils.extend(true, obj3, {a: 11})
obj3.bb = 22
stringToJson (str) 字符串转JSON
import XEUtils from 'xe-utils'
XEUtils.stringToJson('{"a":1}')
XEUtils.stringToJson('[11,22]')
jsonToString (obj) JSON转字符串
import XEUtils from 'xe-utils'
XEUtils.jsonToString({a: 1})
XEUtils.jsonToString([11, 22])
keys/objectKeys (obj) 获取对象所有属性
import XEUtils, { objectKeys } from 'xe-utils'
XEUtils.keys({a: 11})
objectKeys([11, 22])
values/objectValues (obj) 获取对象所有值
import XEUtils, { objectValues } from 'xe-utils'
XEUtils.values({a: 11})
objectValues([11, 22])
entries/objectEntries (obj) 获取对象所有属性、值
import XEUtils from 'xe-utils'
XEUtils.objectEntries({a: 11})
XEUtils.objectEntries([11, 22])
first/arrayFirst (obj) 获取对象第一个值
import XEUtils, { arrayFirst } from 'xe-utils'
XEUtils.first({a: 11, b : 22})
arrayFirst([11, 22])
last/arrayLast (obj) 获取对象最后一个值
import XEUtils, { arrayLast } from 'xe-utils'
XEUtils.last({a: 11, b: 22})
arrayLast([11, 22])
each/forEach/objectEach/arrayEach ( obj, iteratee, context ) 迭代器
import XEUtils, { objectEach, arrayEach } from 'xe-utils'
XEUtils.each({a: 11, b: 22}, (item, key) => {
})
XEUtils.forEach([11, 22, 33], (item, index) => {
})
objectEach({a: 11, b: 22}, (item, key) => {
})
arrayEach([11, 22, 33], (item, index) => {
})
groupBy ( obj, iteratee, context ) 集合分组,默认使用键值分组,如果有iteratee则使用结果进行分组
import XEUtils from 'xe-utils'
const result1 = XEUtils.groupBy([{type: 'a'}, {type: 'b'}], 'type')
const result2 = XEUtils.groupBy([{type: 'a'}, {type: 'b'}], item => item.type)
objectMap ( obj, iteratee, context ) 指定方法后的返回值组成的新对象
import XEUtils from 'xe-utils'
const result = []
XEUtils.objectMap({a: {type: 'a'}, b: {type: 'b'}}, item => item.type)
clone (obj, deep) 浅拷贝/深拷贝
import XEUtils from 'xe-utils'
const v1 = {a: 11, b: {b1: 22}}
const v2 = XEUtils.clone(v1)
if (v1.b === v2.b) {
}
const v3 = XEUtils.clone(v1, true)
if (v1.b === v3.b) {
}
uniq/arrayUniq ( array ) 数组去重
import XEUtils, { arrayUniq } from 'xe-utils'
XEUtils.uniq([11, 22, 33, 33, 22, 55])
arrayUniq([11, 22, 33, 33, 22, 55])
union/arrayUnion ( ...array ) 将多个数的值返回唯一的并集数组
import XEUtils, { arrayUnion } from 'xe-utils'
XEUtils.union([11, 22], [33, 22], [44, 11])
arrayUnion([11, 22], [33, 22], [44, 11])
sort/arraySort ( arr, iteratee, context ) 数组按属性值升序
import XEUtils, { arraySort } from 'xe-utils'
XEUtils.sort([{a: 9}, {a: 4}, {a: 5}], 'a')
arraySort([{a: 9}, {a: 4}, {a: 5}], (v1, v2) => v1.a > v2.a ? 1 : -1)
shuffle/arrayShuffle ( array ) 将一个数组随机打乱,返回一个新的数组
import XEUtils, { arrayShuffle } from 'xe-utils'
XEUtils.shuffle([11, 22, 33, 44, 55])
arrayShuffle([11, 22, 33, 44, 55])
sample/arraySample ( array, number ) 从一个数组中随机返回几个元素
import XEUtils, { arraySample } from 'xe-utils'
XEUtils.sample([11, 22, 33, 44, 55], 3)
arraySample([11, 22, 33, 44, 55], 3)
some/arraySome ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果函数对任一项返回true,则返回true,否则返回false
import XEUtils, { arraySome } from 'xe-utils'
XEUtils.some([{value: 11}, {value: 22}], item => item.value === 55)
arraySome([{value: 11}, {value: 22}], item => item.value === 11)
every/arrayEvery ( obj, iteratee, context ) 对象中的值中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true,否则返回false
import XEUtils, { arrayEvery } from 'xe-utils'
XEUtils.every([{value: 11}, {value: 22}], item => item.value === 11)
arrayEvery([{value: 11}, {value: 22}]], item => item.value === 11 || item.value === 22)
filter/arrayFilter ( obj, iteratee, context ) 根据回调过滤数据
import XEUtils, { arrayFilter } from 'xe-utils'
XEUtils.filter([{value: 11}, {value: 22}], item => item.value > 11)
arrayFilter([{value: 11}, {value: 22}], item => item.value > 11)
find/arrayFind ( obj, iteratee, context ) 查找匹配第一条数据
import XEUtils, { arrayFind } from 'xe-utils'
XEUtils.find([{value: 11}, {value: 22}], item => item.value === 55)
arrayFind([{value: 11}, {value: 22}], item => item.value === 22)
map/arrayMap ( obj, iteratee, context ) 指定方法后的返回值组成的新数组
import XEUtils, { arrayMap } from 'xe-utils'
XEUtils.map([{value: 11}, {value: 22}], item => item.value)
arrayMap([{value: 11}, {value: 22}], item => item.value)
copyWithin/arrayCopyWithin ( array, target, start, end ) 浅复制数组的一部分到同一数组中的另一个位置,数组大小不变
import XEUtils, { arrayCopyWithin } from 'xe-utils'
XEUtils.copyWithin([11, 22, 33, 44], 0, 2)
XEUtils.copyWithin([11, 22, 33, 44], 0, -1)
arrayCopyWithin([11, 22, 33, 44], 0, 2)
arrayCopyWithin([11, 22, 33, 44], 0, -1)
sum/arraySum ( obj, iteratee, context ) 求和函数,将数值相加
import XEUtils, { arraySum } from 'xe-utils'
XEUtils.sum([22, 66, 88])
XEUtils.sum([{value: 11}, {value: 22}, {value: 66}], 'value')
arraySum([{value: 11}, {value: 22}, {value: 66}], item => item.value * 2)
mean/arrayMean ( obj, iteratee, context ) 求平均值函数
import XEUtils, { arrayMean } from 'xe-utils'
XEUtils.mean([22, 66, 60, 60])
XEUtils.mean([{value: 34}, {value: 22}], 'value')
arrayMean([{value: 11}, {value: 22}, {value: 66}], item => item.value * 2)
from ( array, callback, context ) 根据数组或可迭代对象中创建一个新的数组
import XEUtils from 'xe-utils'
XEUtils.from([])
XEUtils.from({})
XEUtils.from(arguments)
reduce/arrayReduce ( array, callback, initialValue ) 接收一个函数作为累加器,数组中的每个值(从左到右)开始合并,最终为一个值
import XEUtils, { arrayReduce } from 'xe-utils'
XEUtils.reduce([22, 66, 88], (previous, item) => previous + item)
arrayReduce([22, 66, 88], (previous, item) => (previous + item) * 2)
zip ( ) 将每个数组中相应位置的值合并在一起
import XEUtils from 'xe-utils'
XEUtils.zip(['name1', 'name2', 'name3'], [true, true, false], [30, 40, 20])
unzip ( arrays ) 与 zip 相反
import XEUtils from 'xe-utils'
XEUtils.unzip([['name1', true, 30], ['name2', true, 40], ['name3', false, 20]])
chunk ( array, size ) 将一个数组分割成大小的组。如果数组不能被平均分配,那么最后一块将是剩下的元素
import XEUtils from 'xe-utils'
XEUtils.chunk(['a', 'b', 'c', 'd'], 2)
XEUtils.chunk(['a', 'b', 'c', 'd'], 3)
now/timestamp ( ) 返回时间戳
import XEUtils, { timestamp } from 'xe-utils'
XEUtils.now()
timestamp()
stringToDate ( str, format ) 任意格式字符串转为日期
yyyy | 年份 |
MM | 月份 |
dd | 日 |
HH | 小时 |
mm | 分钟 |
ss | 秒 |
SSS | 毫秒 |
import XEUtils from 'xe-utils'
XEUtils.stringToDate('2017-12-20')
XEUtils.stringToDate('2017-12-20 10:10:30')
XEUtils.stringToDate('12/20/2017', 'MM/dd/yyyy')
XEUtils.stringToDate('2017/12/20 10:10:30', 'yyyy/MM/dd HH:mm')
XEUtils.stringToDate('12/20/2017 10:10:30.100', 'MM/dd/yyyy HH:mm:ss.SSS')
dateToString ( date[, format, options] ) 日期格式化为任意格式字符串
yy | 年份 | 自动截取后两位 |
yyyy | 年份 | |
M | 月份 | |
MM | 月份 | 自动补0 |
d | 日 | |
dd | 日 | 自动补0 |
H | 小时 | |
HH | 小时 | 自动补0 |
m | 分钟 | |
mm | 分钟 | 自动补0 |
s | 秒 | |
ss | 秒 | 自动补0 |
S | 毫秒 | |
SSS | 毫秒 | 自动补0 |
D | 年份的第几天 | |
E | 星期几 | |
q | 季度 | |
w | 年份的第几周 | |
W | 月份的第几周 | |
z | 时区 | |
Z | 时区值 | |
import XEUtils from 'xe-utils'
XEUtils.dateToString(1513735830000)
XEUtils.dateToString(new Date())
XEUtils.dateToString('2017-01-01 10:05:30', 'MM/dd/yyyy')
XEUtils.dateToString('2017-01-01 10:05:30', 'M/d/yyyy')
XEUtils.dateToString(new Date(), 'yyyy-MM-dd')
XEUtils.dateToString(new Date(), 'yy-M-d')
XEUtils.dateToString(new Date(), 'yyyy-MM-dd HH:mm:ss.SSS')
XEUtils.dateToString(new Date(), 'yyyy-MM-dd hh:mm:ss.SSSZ')
XEUtils.dateToString(new Date(), 'yyyy-MM-dd hh:mm:ss.SSS zZ')
XEUtils.dateToString('2017-11-20 10:05:30', 'yyyy-M-d h:m:s.S')
XEUtils.dateToString(new Date(), 'yyyy-M-d H:m:s.S')
XEUtils.dateToString(new Date(), 'yyyy-M-d h:m:s.S')
XEUtils.dateToString(new Date(), 'yyyy年MM月dd日 HH时mm分ss秒S毫秒,星期E 第q季度')
XEUtils.dateToString(new Date(), 'yy年M月d日 HH时m分s秒S毫秒,星期E 第q季度')
XEUtils.dateToString(new Date(), 'yyyy年MM月dd日 hh时mm分ss秒SSS毫秒 星期E 第q季度 今年第D天 今年第w周 当月第W周 时区zZ')
getWhatYear ( date, year, month ) 返回前几年或后几年的日期,可以指定年初或年末,默认当前
import XEUtils from 'xe-utils'
XEUtils.getWhatYear(new Date(), -1)
XEUtils.getWhatYear(1513735830000, -1)
XEUtils.getWhatYear('2017-12-20', -1)
XEUtils.getWhatYear('2017-12-20', 1)
getWhatMonth ( date, mode, month ) 返回前几月或后几月的日期,可以指定月初或月末,默认当前
import XEUtils from 'xe-utils'
XEUtils.getWhatMonth(new Date(), -1)
XEUtils.getWhatMonth(1513735830000, -1)
XEUtils.getWhatMonth('2017-12-20', -1)
XEUtils.getWhatMonth('2017-12-20', 1)
XEUtils.getWhatMonth('2017-12-20', -1, 'first')
XEUtils.getWhatMonth('2017-12-20', 1, 'last')
getWhatWeek ( date, mode, week ) 返回前几周或后几周的日期,可以指定星期几,默认当前
import XEUtils from 'xe-utils'
XEUtils.getWhatWeek(new Date(), -1)
XEUtils.getWhatWeek(1513735830000, -1)
XEUtils.getWhatWeek('2017-12-20', -1)
XEUtils.getWhatWeek('2017-12-20', 1)
XEUtils.getWhatWeek('2017-12-20', -1, 5)
XEUtils.getWhatWeek('2017-12-20', 1, 0)
getWhatDay ( date, day ) 返回前几天或后几天的日期
import XEUtils from 'xe-utils'
XEUtils.getWhatDay(new Date(), -1)
XEUtils.getWhatDay(1513735830000, -1)
XEUtils.getWhatDay('2017-12-20', -1)
XEUtils.getWhatDay('2017-12-20', 1)
getDaysOfYear ( date, month ) 返回当前年份的天数,可以指定前几个年或后几个年,默认当前
import XEUtils from 'xe-utils'
XEUtils.getDaysOfYear(new Date())
XEUtils.getDaysOfYear(1513735830000)
XEUtils.getDaysOfYear('2017-12-20')
XEUtils.getDaysOfYear('2019-12-20', 1)
XEUtils.getDaysOfYear('2020-12-20')
getYearDay ( date ) 返回当前年的第几天
import XEUtils from 'xe-utils'
XEUtils.getYearDay(new Date())
XEUtils.getYearDay('2017-01-20')
XEUtils.getYearDay('2018-05-20')
getYearWeek ( date ) 返回当前年的第几周
import XEUtils from 'xe-utils'
XEUtils.getYearWeek(new Date())
XEUtils.getYearWeek('2017-01-20')
XEUtils.getYearWeek('2018-05-20')
getMonthWeek ( date ) 返回当前月的第几周
import XEUtils from 'xe-utils'
XEUtils.getMonthWeek(new Date())
XEUtils.getMonthWeek('2017-01-20')
XEUtils.getMonthWeek('2018-05-20')
getDaysOfMonth ( date, month ) 返回当前月份的天数,可以指定前几个月或后几个月,默认当前
import XEUtils from 'xe-utils'
XEUtils.getDaysOfMonth(new Date())
XEUtils.getDaysOfMonth(1513735830000)
XEUtils.getDaysOfMonth('2017-12-20')
XEUtils.getDaysOfMonth('2017-12-20', -1)
XEUtils.getDaysOfMonth('2017-12-20', 1)
getDateDiff ( startDate, endDate, rules ) 返回两个日期之间差距,如果结束日期小于开始日期done为fasle
import XEUtils from 'xe-utils'
XEUtils.getDateDiff('2017-11-20', '2017-12-21')
XEUtils.getDateDiff('2017-12-20', '2017-12-21')
XEUtils.getDateDiff('2017-12-20', '2017-12-21')
XEUtils.getDateDiff('2018-01-01', '2017-12-21')
const dateDiff = XEUtils.getDateDiff('2017-12-20 10:10:30', '2017-12-21 10:15:00')
const content = `${dateDiff.mm}分${dateDiff.ss}秒`
getRandom ( min, max ) 获取一个指定范围内随机数
import XEUtils from 'xe-utils'
XEUtils.getRandom()
XEUtils.getRandom(3, 6)
XEUtils.getRandom(10, 100)
min/arrayMin ( arr, iteratee ) 获取最小值
import XEUtils, { arrayMin } from 'xe-utils'
XEUtils.min([22, 66, 77, 11])
arrayMin([{a: 11}, {a: 44}], 'a')
arrayMin([{a: 11}, {a: 44}], item => item.a)
max/arrayMax ( arr, iteratee ) 获取最大值
import XEUtils, { arrayMax } from 'xe-utils'
XEUtils.max([22, 66, 77, 11])
arrayMax([{a: 11}, {a: 44}], 'a')
arrayMax([{a: 11}, {a: 44}], item => item.a)
commafy ( num, options ) 数值千分位分隔符、小数点
import XEUtils from 'xe-utils'
XEUtils.commafy(1000000)
XEUtils.commafy(1000000, {fixed: 2})
XEUtils.commafy(1234123412341234, {spaceNumber: 4, separator: ' ', fixed: 0})
toNumber/stringToNumber ( num ) 转数值
import XEUtils, { stringToNumber } from 'xe-utils'
XEUtils.toNumber(123)
XEUtils.toNumber('12.3'})
stringToNumber('abc')
toInteger/stringToInteger ( num ) 转整数
import XEUtils, { stringToInteger } from 'xe-utils'
XEUtils.toInteger(123)
XEUtils.toInteger('12.3'})
stringToInteger('abc')
trim/stringTrim ( str ) 去除字符串左右两边的空格
import XEUtils, { stringTrim } from 'xe-utils'
XEUtils.trim(' abc ')
stringTrim(' abc ')
trimLeft/stringTrimLeft ( str ) 去除字符串左边的空格
import XEUtils, { stringTrimLeft } from 'xe-utils'
XEUtils.trimLeft(' abc ')
stringTrimLeft(' abc ')
trimRight/stringTrimRight ( str ) 去除字符串右边的空格
import XEUtils, { stringTrimRight } from 'xe-utils'
XEUtils.trimRight(' abc ')
stringTrimRight(' abc ')
escape ( str ) 转义HTML字符串,替换&, <, >, ", ', `字符
import XEUtils from 'xe-utils'
XEUtils.escape('<a>link</a>')
unescape ( str ) 反转escape
import XEUtils from 'xe-utils'
XEUtils.unescape('<a>link</a>')
camelCase ( str ) 将带驼峰字符串转成字符串
import XEUtils from 'xe-utils'
XEUtils.camelCase('projectName')
kebabCase ( str ) 将字符串转成驼峰字符串
import XEUtils from 'xe-utils'
XEUtils.kebabCase('project-name')
stringRepeat ( str, count ) 将字符串重复 n 次
import XEUtils, { stringRepeat } from 'xe-utils'
XEUtils.repeat('a', 5)
stringRepeat('a', 5)
padStart/stringPadStart ( str, targetLength, padString ) 用指定字符从前面开始补全字符串
import XEUtils, { stringPadStart } from 'xe-utils'
XEUtils.padStart('a', 5, 'b')
stringPadStart('a', 5, 'b')
padEnd/stringPadEnd ( str, targetLength, padString ) 用指定字符从后面开始补全字符串
import XEUtils, { stringPadEnd } from 'xe-utils'
XEUtils.padEnd('a', 5, 'b')
stringPadEnd('a', 5, 'b')
startsWith/stringStartsWith ( str, val, startIndex ) 判断字符串是否在源字符串的头部
import XEUtils, { stringStartsWith } from 'xe-utils'
XEUtils.startsWith('abc', 'b')
stringStartsWith('abc', 'a')
endsWith/stringEndsWith ( str, val, startIndex ) 判断字符串是否在源字符串的尾部
import XEUtils, { stringEndsWith } from 'xe-utils'
XEUtils.endsWith('abc', 5, 'a')
stringEndsWith('abc', 5, 'c')
browse ( ) 获取浏览器内核
import XEUtils from 'xe-utils'
XEUtils.browse()
locat ( ) 获取地址栏信息
import XEUtils from 'xe-utils'
XEUtils.locat()
parseUrl ( url ) 解析 URL 参数
import XEUtils from 'xe-utils'
XEUtils.parseUrl('http://xuliangzhan.com:8080/demo?id=123')
getBaseURL ( ) 获取上下文路径
import XEUtils from 'xe-utils'
XEUtils.getBaseURL()
cookie ( ) Cookie 操作函数
import XEUtils from 'xe-utils'
XEUtils.cookie()
XEUtils.cookie('name')
XEUtils.cookie('name', null, {expires: -1})
XEUtils.cookie('name', 'value')
XEUtils.cookie('name', 'value', {expires: '10s'})
XEUtils.cookie('name', 'value', {expires: '1m'})
XEUtils.cookie('name', 'value', {expires: '1H'})
XEUtils.cookie('name', 'value', {expires: '1d'})
XEUtils.cookie('name', 'value', {expires: '1M'})
XEUtils.cookie('name', 'value', {expires: '1y'})
XEUtils.cookie('name', 'value', {expires: 1525541938031})
XEUtils.cookie('name', 'value', {expires: new Date()})
XEUtils.cookie('name', 'value', {expires: new Date().toUTCString()})
XEUtils.cookie('name', 'value', {expires: 1})
XEUtils.cookie('name', 'value', {domain: 'xxx.com', path: '/', expires: 7, secure: true})
XEUtils.cookie([{name: 'name', expires: -1}])
XEUtils.cookie([{name: 'name', value: 'value'}])
XEUtils.cookie([{name: 'name', value: 'value', domain: 'xxx.com', path: '/', expires: 7, secure: true}])
XEUtils.cookie.setItem('name', 'value')
XEUtils.cookie.getItem('name')
XEUtils.cookie.removeItem('name')
XEUtils.cookie.getJSON()
混合函数
文件 ./customs.js
import XEUtils from 'xe-utils'
export function toDateStr (date) {
return XEUtils.dateToString(date, 'yyyy-MM-dd HH:mm')
}
示例 ./main.js
import Vue from 'vue'
import XEUtils from 'xe-utils'
import customs from './customs'
XEUtils.mixin(customs)
XEUtils.toDateStr()
License
Copyright (c) 2017-present, Xu Liangzhan