Skip to content

引入

ts
import {
  isIdCard,
  isIndex,
  isRegExp,
  isDate,
  isFunction,
  isPlainObject,
  isPromise,
  isDef,
  isObj,
  isObject,
  isImageUrl,
  isVideoUrl,
  isNumber,
  isExternal,
  validURL,
  validLowerCase,
  validUpperCase,
  validAlphabets,
  validEmail,
  isString,
  isArray,
  isQQNumber,
  isEmail,
  isMobile,
  isTel,
  isWindows
} from 't-comm';

// 不支持 tree-shaking 的项目
import {
  isIdCard,
  isIndex,
  isRegExp,
  isDate,
  isFunction,
  isPlainObject,
  isPromise,
  isDef,
  isObj,
  isObject,
  isImageUrl,
  isVideoUrl,
  isNumber,
  isExternal,
  validURL,
  validLowerCase,
  validUpperCase,
  validAlphabets,
  validEmail,
  isString,
  isArray,
  isQQNumber,
  isEmail,
  isMobile,
  isTel,
  isWindows
} from 't-comm/lib/validate/index';

// 只支持 ESM 的项目
import {
  isIdCard,
  isIndex,
  isRegExp,
  isDate,
  isFunction,
  isPlainObject,
  isPromise,
  isDef,
  isObj,
  isObject,
  isImageUrl,
  isVideoUrl,
  isNumber,
  isExternal,
  validURL,
  validLowerCase,
  validUpperCase,
  validAlphabets,
  validEmail,
  isString,
  isArray,
  isQQNumber,
  isEmail,
  isMobile,
  isTel,
  isWindows
} from 't-comm/es/validate/index';

isIdCard(idCard)

描述

判断是否合法的身份证号 除了基本的格式校验外,还检查了第18位是否合法,方法如下:

  • 逆序排列,放到数组 list 中
  • x/X 代表数字10
  • 遍历 list,累加 item * ((2 ** index) % 11),item 为list的每一位,index为下标值
  • 将上一步的累加和余11,判断是否等于1

参数

参数名类型描述
idCardstring

输入字符串

示例

typescript
isIdCard('123')
// false

isIdCard('34052419800101001X')
// true

isIndex(value, [length])

描述

Checks if value is a valid array-like index.

参数

参数名类型默认值描述
value*

The value to check.

[length]numberMAX_SAFE_INTEGER

The upper bounds of a valid index.

返回: boolean

Returns true if value is a valid index, else false.

isRegExp(value)

描述

判断数据是不是正则对象

参数

参数名类型描述
valueany

输入数据

返回: boolean

是否是正则对象

示例

typescript
isRegExp(1)

// => false

isRegExp(/\d/)

// => true

isDate(value)

描述

判断数据是不是时间对象

参数

参数名类型描述
valueany

输入数据

返回: boolean

是否是时间对象

示例

typescript
isDate(1)

// => false

isDate(new Date())

// => true

isFunction(value)

描述

判断数据是不是函数

参数

参数名类型描述
valueany

输入数据

返回: boolean

是否是函数

示例

typescript
isFunction(1)

// => false

isFunction(()=>{})

// => true

isPlainObject(val)

描述

判断数据是否为普通对象 排除 null 和数组,只返回纯对象

参数

参数名描述
val

输入数据

返回:

是否为普通对象

示例

ts
isPlainObject({}); // true
isPlainObject([]); // false
isPlainObject(null); // false

isPromise(val)

描述

判断数据是否为 Promise 对象 检查对象是否有 then 和 catch 方法

参数

参数名描述
val

输入数据

返回:

是否为 Promise 对象

示例

ts
isPromise(Promise.resolve()); // true
isPromise({}); // false

isDef(value)

描述

判断值是否已定义(不为 undefined 和 null)

参数

参数名描述
value

输入数据

返回:

是否已定义

示例

ts
isDef(0); // true
isDef(''); // true
isDef(null); // false
isDef(undefined); // false

isObj(x)

描述

判断是否为对象或函数

参数

参数名描述
x

输入数据

返回:

是否为对象或函数

示例

ts
isObj({}); // true
isObj(() => {}); // true
isObj(null); // false

isObject(val)

描述

判断是否为对象类型

参数

参数名描述
val

输入数据

返回:

是否为对象

示例

ts
isObject({}); // true
isObject([]); // true
isObject(null); // false

isImageUrl(url)

描述

判断 URL 是否为图片地址 根据文件扩展名判断(jpeg、jpg、gif、png、svg、webp、jfif、bmp、dpg)

参数

参数名描述
url

URL 地址

返回:

是否为图片 URL

示例

ts
isImageUrl('https://example.com/image.jpg'); // true
isImageUrl('https://example.com/video.mp4'); // false

isVideoUrl(url)

描述

判断 URL 是否为视频地址 根据文件扩展名判断(mp4、mpg、mpeg、dat、asf、avi、rm、rmvb、mov、wmv、flv、mkv)

参数

参数名描述
url

URL 地址

返回:

是否为视频 URL

示例

ts
isVideoUrl('https://example.com/video.mp4'); // true
isVideoUrl('https://example.com/image.jpg'); // false

isNumber(value)

描述

判断字符串是否为数字格式 支持整数和小数

参数

参数名描述
value

输入值

返回:

是否为数字格式

示例

ts
isNumber('123'); // true
isNumber('123.45'); // true
isNumber('abc'); // false

isExternal(path)

描述

判断是否外部资源

参数

参数名类型
pathstring

validURL(url)

描述

判断是否URL

参数

参数名类型
urlstring

validLowerCase(str)

描述

判断是否小写

参数

参数名类型
strstring

validUpperCase(str)

描述

判断是否大写

参数

参数名类型
strstring

validAlphabets(str)

描述

判断是否字母字符串

参数

参数名类型
strstring

validEmail(email)

描述

判断是否合法邮箱地址

参数

参数名类型
emailstring

isString(str)

描述

判断是否字符串

参数

参数名类型
strstring

isArray(arg)

描述

判断是否数组

参数

参数名类型
argArray

isQQNumber(qq)

描述

判断是否合法的QQ号码

参数

参数名类型描述
qqString

待检测的qq号

isEmail(email)

描述

判断是否合法的邮箱号码

参数

参数名类型描述
emailString

待检测的邮箱号码

isMobile(phone)

描述

判断是否合法的手机号

参数

参数名类型描述
phoneString

待检测的手机号

isTel(tel)

描述

判断是否合法的电话号码

参数

参数名类型描述
telString

待检测的电话号码

isWindows()

描述

判断当前操作系统是否为 Windows

参数

返回:

如果是 Windows 系统返回 true,否则返回 false

示例

ts
if (isWindows()) {
  console.log('当前运行在 Windows 系统上');
}