![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
XEUtils 一个不依赖于任何框架、开源的函数库,支持常用基础函数、支持任意格式的日期处理函数,cookie操作函数等...
支持 IE8+、Edge、Chrome、Firefox、Opera、Safari等...
<script src="./dist/xe-utils.min.js" type="text/javascript"></script>
// 全局调用
XEUtils.dateToString(new Date(), 'yyyy-MM-dd')
// require 配置
require.config({
paths: {
// ...,
'xe-utils': './dist/xe-utils.min'
}
})
// ./app.js 调用
define(['xe-utils'], function (XEUtils) {
XEUtils.dateToString(new Date(), 'yyyy-MM-dd')
})
npm install xe-utils --save
import { dateToString, stringToDate } from 'xe-utils'
const dateStr = dateToString(new Date(), 'yyyy-MM-dd')
const date = stringToDate('11/20/2017 10:10:30', 'MM/dd/yyyy HH:mm:ss')
import XEUtils from 'xe-utils'
const dateStr = XEUtils.dateToString(new Date(), 'yyyy-MM-dd')
const date = XEUtils.stringToDate('11/20/2017 10:10:30', 'MM/dd/yyyy HH:mm:ss')
export function custom1 () {
console.log('自定义函数')
}
import Vue from 'vue'
import XEUtils from 'xe-utils'
import customs from './customs'
XEUtils.mixin(customs)
// 调用自定义扩展函数
XEUtils.custom1()
import XEUtils from 'xe-utils'
XEUtils.isNaN(undefined) // true
XEUtils.isNaN({}) // true
XEUtils.isNaN('num') // true
XEUtils.isNaN(true) // false
XEUtils.isNaN(null) // false
XEUtils.isNaN('') // false
import XEUtils from 'xe-utils'
XEUtils.isFinite(NaN) // false
XEUtils.isFinite(0) // true
XEUtils.isFinite(2e64) // true
import XEUtils from 'xe-utils'
XEUtils.isArray(null) // false
XEUtils.isArray({}) // false
XEUtils.isArray([1,2,3]) // true
import XEUtils from 'xe-utils'
XEUtils.isFloat(null) // false
XEUtils.isFloat(0) // false
XEUtils.isFloat(3) // false
XEUtils.isFloat(3.3) // true
import XEUtils from 'xe-utils'
XEUtils.isInteger(null) // false
XEUtils.isInteger(3.3) // false
XEUtils.isInteger(3) // true
XEUtils.isInteger(0) // true
import XEUtils from 'xe-utils'
XEUtils.isFunction({}) // false
XEUtils.isFunction(function(){}) // true
import XEUtils from 'xe-utils'
XEUtils.isBoolean('false') // false
XEUtils.isBoolean(true) // true
import XEUtils from 'xe-utils'
XEUtils.isString(1) // false
XEUtils.isString(true) // false
XEUtils.isString('') // true
XEUtils.isString('abc') // true
import XEUtils from 'xe-utils'
XEUtils.isNumber(null) // false
XEUtils.isNumber('1') // false
XEUtils.isNumber(1) // true
import XEUtils from 'xe-utils'
XEUtils.isRegExp(null) // false
XEUtils.isRegExp('a') // false
XEUtils.isRegExp(new RegExp('a')) // true
XEUtils.isRegExp(/\a/) // true
import XEUtils from 'xe-utils'
XEUtils.isObject(null) // true
XEUtils.isObject([]) // true
XEUtils.isObject({}) // true
XEUtils.isObject(123) // false
import XEUtils from 'xe-utils'
XEUtils.sPlainObject(null) // false
XEUtils.isPlainObject([]) // false
XEUtils.isPlainObject(123) // false
XEUtils.isPlainObject({}) // true
import XEUtils from 'xe-utils'
XEUtils.isDate('2017-12-20') // false
XEUtils.isDate({}) // false
XEUtils.isDate(1514096716800) // false
XEUtils.isDate(new Date()) // true
import XEUtils from 'xe-utils'
XEUtils.isError(null) // false
XEUtils.isError({}) // false
XEUtils.isError(new Error('error')) // true
import XEUtils from 'xe-utils'
XEUtils.isTypeError(null) // false
XEUtils.isTypeError({}) // false
XEUtils.isTypeError(new TypeError('error')) // true
import XEUtils from 'xe-utils'
XEUtils.isEmpty(0) // true
XEUtils.isEmpty('') // true
XEUtils.isEmpty(null) // true
XEUtils.isEmpty({}) // true
XEUtils.isEmpty([]]) // true
import XEUtils from 'xe-utils'
XEUtils.isNull(0) // false
XEUtils.isNull('') // false
XEUtils.isNull(null) // true
import XEUtils from 'xe-utils'
XEUtils.isSymbol('a') // false
XEUtils.isSymbol(Symbol('a')) // true
import { isArguments } from 'xe-utils'
isArguments([]) // false
isArguments(arguments) // true
import XEUtils from 'xe-utils'
XEUtils.isElement({}) // false
XEUtils.isElement(document.createElement('div')) // true
import XEUtils from 'xe-utils'
XEUtils.isDocument(document.createElement('div')) // false
XEUtils.isDocument(document) // true
import XEUtils from 'xe-utils'
XEUtils.isWindow(document) // false
XEUtils.isWindow(window) // true
import { isFormData } from 'xe-utils'
isFormData({}) // false
isFormData(new FormData()) // true
import XEUtils from 'xe-utils'
XEUtils.isLeapYear('2018-12-01') // false
XEUtils.isLeapYear('2020-12-01') // true
XEUtils.isLeapYear(new Date('2020/12/01')) // true
import XEUtils from 'xe-utils'
XEUtils.getType() // 'undefined'
XEUtils.getType(null) // 'null'
XEUtils.getType('') // 'string'
XEUtils.getType(1) // 'number'
XEUtils.getType([]) // 'array'
XEUtils.getType({}) // 'object'
XEUtils.getType(function(){}) // 'function'
import XEUtils from 'xe-utils'
XEUtils.uniqueId() // 1
XEUtils.uniqueId() // 2
import XEUtils from 'xe-utils'
XEUtils.getSize('123') // 3
XEUtils.getSize([1, 3]) // 2
XEUtils.getSize({a: 2, b: 5}) // 2
import XEUtils from 'xe-utils'
XEUtils.indexOf([11], 22) // -1
XEUtils.indexOf([11, 22], 22) // 1
import XEUtils from 'xe-utils'
XEUtils.lastIndexOf([11], 22) // -1
XEUtils.lastIndexOf([11, 22], 22) // 1
import XEUtils from 'xe-utils'
XEUtils.includes([11], 22) // false
XEUtils.includes([11, 22], 22) // true
import XEUtils, { objectAssign } from 'xe-utils'
const obj1 = {a: null}
XEUtils.assign(obj1, {a: 11}) // {a: 11}
const obj2 = {c: null}
objectAssign(obj2, {a: 11}, {b: 22}) // {a: 11, b: 22, c: null}
import XEUtils from 'xe-utils'
XEUtils.stringToJson('{"a":1}') // {a: 1}
XEUtils.stringToJson('[11,22]') // [11, 22]
import XEUtils from 'xe-utils'
XEUtils.jsonToString({a: 1}) // '{"a":1}'
XEUtils.jsonToString([11, 22]) // '[11,22]'
import XEUtils, { objectKeys } from 'xe-utils'
XEUtils.keys({a: 11}) // ['a']
objectKeys([11, 22]) // [0, 1]
import XEUtils, { objectValues } from 'xe-utils'
XEUtils.values({a: 11}) // [11]
objectValues([11, 22]) // [11, 22]
import XEUtils from 'xe-utils'
XEUtils.objectEntries({a: 11}) // [['a', 11]]
XEUtils.objectEntries([11, 22]) // [[0, 11], [1, 22]]
import XEUtils, { arrayFirst } from 'xe-utils'
XEUtils.first({a: 11, b : 22}) // 11
arrayFirst([11, 22]) // 11
import XEUtils, { arrayLast } from 'xe-utils'
XEUtils.last({a: 11, b: 22}) // 22
arrayLast([11, 22]) // 22
import XEUtils from 'xe-utils'
const result = []
XEUtils.each({a: 11, b: 22}, (item, key) => {
if (key === 'b') {
result.push(item)
}
}) // [22]
import XEUtils from 'xe-utils'
const result1 = XEUtils.groupBy([{type: 'a'}, {type: 'b'}]], 'type') // {a: [{a: 'a'}], b: [{b: 'b'}]}
const result2 = XEUtils.groupBy([{type: 'a'}, {type: 'b'}]], (item, key) => {
return item.type
}) // {a: [{a: 'a'}], b: [{b: 'b'}]}
import XEUtils from 'xe-utils'
const result = []
XEUtils.objectMap([{type: 'a'}, {type: 'b'}]], (item, key) => {
return item.type
}) // {a: {type: 'a', b: {type: 'b'}}}
import XEUtils from 'xe-utils'
const v1 = {a: 11, b: {b1: 22}
const v2 = XEUtils.clone({a: 11, b: 22})
if (v1.b === v2.b) {
// true
}
const v3 = XEUtils.clone(v1, true)
if (v1.b === v3.b) {
// false
}
import XEUtils, { arrayUniq } from 'xe-utils'
XEUtils.uniq([11, 22, 33, 33, 22, 55]) // [11, 22, 33, 55]
arrayUniq([11, 22, 33, 33, 22, 55]) // [11, 22, 33, 55]
import XEUtils, { arrayUnion } from 'xe-utils'
XEUtils.union([11, 22], [33, 22], [44, 11]) // [11, 22, 33, 44]
arrayUnion([11, 22], [33, 22], [44, 11]) // [11, 22, 33, 44]
import XEUtils, { arraySort } from 'xe-utils'
XEUtils.sort([{a: 9}, {a: 4}, {a: 5}], 'a') // [{a: 4}, {a: 5}, {a: 9}]
arraySort([{a: 9}, {a: 4}, {a: 5}], (v1, v2) => {
return v1.a > v2.a ? 1 : -1
}) // [{a: 4}, {a: 5}, {a: 9}]
import XEUtils, { arrayShuffle } from 'xe-utils'
XEUtils.shuffle([11, 22, 33, 44, 55]) // [22, 33, 55, 11, 44]
arrayShuffle([11, 22, 33, 44, 55]) // [22, 33, 55, 11, 44]
import XEUtils, { arraySample } from 'xe-utils'
XEUtils.sample([11, 22, 33, 44, 55], 3) // [22, 33, 55]
arraySample([11, 22, 33, 44, 55], 3) // [22, 33, 55]
import XEUtils, { arraySome } from 'xe-utils'
XEUtils.some([{a: 11}, {a: 22}]], (item, key) => {
return item.a === 55
}) // false
arraySome([{a: 11}, {a: 22}]], (item, key) => {
return item.a === 11
}) // true
import XEUtils, { arrayEvery } from 'xe-utils'
XEUtils.every([{a: 11}, {a: 22}]], (item, key) => {
return item.a === 11
}) // false
arrayEvery([{a: 11}, {a: 22}]], (item, key) => {
return item.a === 11 || item.a === 22
}) // true
import XEUtils, { arrayFilter } from 'xe-utils'
XEUtils.filter([{a: 11}, {a: 22}]], (item, key) => {
return item.a > 11
}) // [{a: 22}]
arrayFilter([{a: 11}, {a: 22}]], (item, key) => {
return item.a > 11
}) // [{a: 22}]
import XEUtils, { arrayFind } from 'xe-utils'
XEUtils.find([{a: 11}, {a: 22}]], (item, key) => {
return item.a === 55
}) // null
arrayFind([{a: 11}, {a: 22}]], (item, key) => {
return item.a === 22
}) // {a: 22}
import XEUtils, { arrayMap } from 'xe-utils'
XEUtils.map([{a: 11}, {a: 22}]], (item, key) => {
return item.a
}) // [11, 22]
arrayMap([{a: 11}, {a: 22}]], (item, key) => {
return item.a
}) // [11, 22]
import XEUtils, { timestamp } from 'xe-utils'
XEUtils.now() // 1514096716800
timestamp() // 1514096716800
import XEUtils from 'xe-utils'
XEUtils.stringToDate('2017-12-20') // Wed Dec 20 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.stringToDate('2017-12-20 10:10:30') // Wed Dec 20 2017 10:10:30 GMT+0800 (中国标准时间)
XEUtils.stringToDate('12/20/2017', 'MM/dd/yyyy') // Wed Dec 20 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.stringToDate('12/20/2017 10:10:30.100', 'MM/dd/yyyy HH:mm') // Wed Dec 20 2017 10:10:00 GMT+0800 (中国标准时间)
XEUtils.stringToDate('12/20/2017 10:10:30.100', 'MM/dd/yyyy HH:mm:ss.SSS') // Wed Dec 20 2017 10:10:30 GMT+0800 (中国标准时间)
import XEUtils from 'xe-utils'
XEUtils.dateToString(1513735830000) // '2017-12-20 10:10:30'
XEUtils.dateToString(new Date()) // '2017-12-20 10:10:30'
XEUtils.dateToString('2017-12-20 10:10:30', 'MM/dd/yyyy') // '12/20/2017'
XEUtils.dateToString(new Date(), 'yyyy-MM-dd') // '2017-12-20'
XEUtils.dateToString(new Date(), 'yyyy-MM-dd HH:mm:ss.S') // '2017-12-20 10:10:30.100'
XEUtils.dateToString(new Date(), 'yyyy年MM月dd日 HH时mm分ss秒S毫秒,星期E 第q季度') // '2017年12月20日 10时10分30秒100毫秒,星期三 第四季度'
import XEUtils from 'xe-utils'
XEUtils.getWhatMonth(new Date(), -1) // Mon Nov 20 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatMonth(1513735830000, -1) // Mon Nov 20 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatMonth('2017-12-20', -1) // Mon Nov 20 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatMonth('2017-12-20', 1) // Sat Jan 20 2018 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatMonth('2017-12-20', -1, 'first') // Wed Nov 01 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatMonth('2017-12-20', 1, 'last') // Wed Jan 31 2018 00:00:00 GMT+0800 (中国标准时间)
import XEUtils from 'xe-utils'
XEUtils.getWhatWeek(new Date(), -1) // Sun Dec 17 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatWeek(1513735830000, -1) // Sun Dec 17 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatWeek('2017-12-20', -1) // Sun Dec 17 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatWeek('2017-12-20', 1) // Sun Dec 31 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatWeek('2017-12-20', -1, 5) // Fri Dec 15 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatWeek('2017-12-20', 1, 0) // Sun Dec 31 2017 00:00:00 GMT+0800 (中国标准时间)
import XEUtils from 'xe-utils'
XEUtils.getWhatDay(new Date(), -1) // Tue Dec 19 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatDay(1513735830000, -1) // Tue Dec 19 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatDay('2017-12-20', -1) // Tue Dec 19 2017 00:00:00 GMT+0800 (中国标准时间)
XEUtils.getWhatDay('2017-12-20', 1) // Tue Dec 21 2017 00:00:00 GMT+0800 (中国标准时间)
import XEUtils from 'xe-utils'
XEUtils.getDaysOfMonth(new Date()) // 31
XEUtils.getDaysOfMonth(1513735830000) // 31
XEUtils.getDaysOfMonth('2017-12-20') // 31
XEUtils.getDaysOfMonth('2017-12-20', -1) // 30
XEUtils.getDaysOfMonth('2017-12-20', 1) // 31
import XEUtils from 'xe-utils'
XEUtils.getDateDiff('2017-11-20', '2017-12-21') // {MM: 1, dd: 1}
XEUtils.getDateDiff('2017-12-20', '2017-12-21') // {dd: 1}
XEUtils.getDateDiff('2017-12-20', '2017-12-21') // {dd: 1, ss: 30}
const dateDiff = XEUtils.getDateDiff('2017-12-20 10:10:30', '2017-12-21 10:15:00')
const content = `${dateDiff.mm}分${dateDiff.ss}秒` // '4分30秒'
import XEUtils from 'xe-utils'
XEUtils.getRandom() // 0 ~ 9
XEUtils.getRandom(3, 6) // 3 ~ 6
XEUtils.getRandom(10, 100) // 10 ~ 100
import XEUtils, { arrayMin } from 'xe-utils'
XEUtils.min([22, 66, 77, 11]) // 11
arrayMin([{a: 11}, {a: 44}], 'a') // 11
arrayMin([{a: 11}, {a: 44}], (item) => {
return item.a
}) // {a: 11}
import XEUtils, { arrayMax } from 'xe-utils'
XEUtils.max([22, 66, 77, 11]) // 77
arrayMax([{a: 11}, {a: 44}], 'a') // 44
arrayMax([{a: 11}, {a: 44}], (item) => {
return item.a
}) // {a: 44}
import XEUtils from 'xe-utils'
XEUtils.escape('<a>link</a>') // '<a>link</a>'
import XEUtils from 'xe-utils'
XEUtils.unescape('<a>link</a>') // '<a>link</a>'
import XEUtils from 'xe-utils'
XEUtils.browse() // {-khtml: false, -moz: false, -ms: fasle, -o: false, -webkit: true}
import XEUtils from 'xe-utils'
XEUtils.locat() // {hash: '', host: '', hostname: '', href: '', protocol: '', port: '', origin: '', query: {...}, params: {...}, ...}
import XEUtils from 'xe-utils'
XEUtils.cookie() // 获取所有
XEUtils.cookie('name') // 根据name获取
XEUtils.cookie('name', null, {expires: -1}) // 删除
XEUtils.cookie([{name: 'name', expires: -1}]) // 批量删除
XEUtils.cookie('name', 'value') // 添加/修改
XEUtils.cookie([{name: 'name', value: 'value'}]) // 批量添加/修改
XEUtils.cookie('name', 'value', {domain: 'xxx.com', path: '/', expires: 7, secure: true}) // 添加并设置domain/path/secure/expires 7天后过期
XEUtils.cookie([{name: 'name', value: 'value', domain: 'xxx.com', path: '/', expires: 7, secure: true}]) // 批量添加并设置domain/path/secure/expires 7天后过期
XEUtils.cookie.getJSON() // 获取所有
XEUtils.cookie.setItem('name', 'value') // 添加/修改
XEUtils.cookie.getItem('name') // 根据name获取
XEUtils.cookie.removeItem('name') // 删除
Copyright (c) 2017-present, Xu Liangzhan
FAQs
JavaScript 函数库、工具类
The npm package xe-utils receives a total of 3,751 weekly downloads. As such, xe-utils popularity was classified as popular.
We found that xe-utils demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.