Skip to content

Common 常用模块

常用的一些 JavaScript 方法,包含正则判断、深拷贝、URL 参数、复制文本等。

judgeRegText(text, type)

判断某个字符串是否是某种类型。

参数

参数类型必填说明
textString要判断的字符串
typeString类型名称

支持的类型

type说明
Chinese纯中文
chinese含有中文
email邮箱地址
userName用户名(6-16位,字母数字下划线)
int整数
int+正整数
int-负整数
pos正数
neg负数
number数字
phone手机号
idCard身份证号
urlURL 网址
IPv4IP 地址
hex16进制颜色
date日期
time时间
QQQQ号
Wechat微信号
licensePlate车牌号

返回值

Boolean - true 表示匹配

示例

js
Qilin.Common.judgeRegText('13800138000', 'phone')       // true
Qilin.Common.judgeRegText('test@example.com', 'email') // true
Qilin.Common.judgeRegText('#ffffff', 'hex')             // true
Qilin.Common.judgeRegText('你好', 'Chinese')            // true

isObject(object)

判断参数是否是对象。

参数

参数类型必填说明
object*要判断的值

返回值

Boolean - true 表示是对象

示例

js
Qilin.Common.isObject({})           // true
Qilin.Common.isObject(null)         // false
Qilin.Common.isObject([])           // false

isEmptyObject(object)

判断参数是否是空对象。

参数

参数类型必填说明
object*要判断的值

返回值

Boolean - true 表示是空对象

示例

js
Qilin.Common.isEmptyObject({})      // true
Qilin.Common.isEmptyObject({a: 1})  // false
Qilin.Common.isEmptyObject([])      // false

isEmpty(value)

判断参数是否为空。

参数

参数类型必填说明
value*要判断的值

返回值

Boolean - true 表示为空(undefined、null、空对象、空字符串)

示例

js
Qilin.Common.isEmpty(undefined)     // true
Qilin.Common.isEmpty(null)          // true
Qilin.Common.isEmpty({})            // true
Qilin.Common.isEmpty('')            // true
Qilin.Common.isEmpty('   ')         // true(空格也会被 trim)
Qilin.Common.isEmpty('hello')       // false

getUrlParamsValue(key, url)

根据地址栏 URL 的参数名获取其参数值。

参数

参数类型必填说明
keyString参数名
urlStringURL 地址,默认当前地址栏

返回值

String | null - 参数值

示例

js
// 当前 URL: https://example.com?name=qilin&id=123
Qilin.Common.getUrlParamsValue('name')           // 'qilin'
Qilin.Common.getUrlParamsValue('id')             // '123'

// 指定 URL
Qilin.Common.getUrlParamsValue('name', 'https://example.com?name=test')
// 'test'

getUrlSearchParamsKeyValue()

获取 URL 地址栏 ? 后面的全部键值对信息。

返回值

Object - { key: [...], value: [...] }

示例

js
// URL: https://example.com?name=qilin&id=123
const params = Qilin.Common.getUrlSearchParamsKeyValue()
// { key: ['name', 'id'], value: ['qilin', '123'] }

getUrlSearchParamsValue(keyName)

根据 key 值获取 URL 地址栏 ? 后面的相对应的值。

参数

参数类型必填说明
keyNameString键名

返回值

String | null - 参数值

示例

js
// URL: https://example.com?name=qilin
Qilin.Common.getUrlSearchParamsValue('name')    // 'qilin'

pasteText(text)

复制指定文本信息(兼容性好)。

参数

参数类型必填说明
textString要复制的文本

示例

js
Qilin.Common.pasteText('复制这段文字')

newPasteText(text)

复制指定文本信息(新 API,需要安全上下文)。

参数

参数类型必填说明
textString要复制的文本

返回值

Promise - 复制成功的 Promise

示例

js
Qilin.Common.newPasteText('复制这段文字').then(() => {
  console.log('复制成功')
}).catch(err => {
  // 非安全域会报错,请使用 pasteText 替代
})

deepCopy(sourceObj, targetObj)

对某个数据进行深拷贝操作。

参数

参数类型必填说明
sourceObjObject/Array源数据
targetObjObject/Array目标容器({} 或 [])

返回值

Object/Array - 拷贝后的数据

示例

js
const obj = { a: 1, b: { c: 2 } }
const copy = Qilin.Common.deepCopy(obj, {})
console.log(copy)              // { a: 1, b: { c: 2 } }
console.log(copy !== obj)      // true
console.log(copy.b !== obj.b)  // true

const arr = [1, [2, 3]]
const arrCopy = Qilin.Common.deepCopy(arr, [])

judgeEllipsisText(element)

判断某个元素文本是否溢出。

参数

参数类型必填说明
elementElement/String元素节点或选择器

返回值

Boolean - true 表示文本溢出

示例

js
Qilin.Common.judgeEllipsisText('.text-ellipsis')
Qilin.Common.judgeEllipsisText(el)

基于 ISC 许可发布