引入
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
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| idCard | string | 输入字符串 |
示例
isIdCard('123')
// false
isIdCard('34052419800101001X')
// trueisIndex(value, [length])
描述:
Checks if value is a valid array-like index.
参数:
| 参数名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| value | * | The value to check. | |
| [length] | number | MAX_SAFE_INTEGER | The upper bounds of a valid index. |
返回: boolean
Returns true if value is a valid index, else false.
isRegExp(value)
描述:
判断数据是不是正则对象
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| value | any | 输入数据 |
返回: boolean
是否是正则对象
示例
isRegExp(1)
// => false
isRegExp(/\d/)
// => trueisDate(value)
描述:
判断数据是不是时间对象
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| value | any | 输入数据 |
返回: boolean
是否是时间对象
示例
isDate(1)
// => false
isDate(new Date())
// => trueisFunction(value)
描述:
判断数据是不是函数
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| value | any | 输入数据 |
返回: boolean
是否是函数
示例
isFunction(1)
// => false
isFunction(()=>{})
// => trueisPlainObject(val)
描述:
判断数据是否为普通对象 排除 null 和数组,只返回纯对象
参数:
| 参数名 | 描述 |
|---|---|
| val | 输入数据 |
返回:
是否为普通对象
示例
isPlainObject({}); // true
isPlainObject([]); // false
isPlainObject(null); // falseisPromise(val)
描述:
判断数据是否为 Promise 对象 检查对象是否有 then 和 catch 方法
参数:
| 参数名 | 描述 |
|---|---|
| val | 输入数据 |
返回:
是否为 Promise 对象
示例
isPromise(Promise.resolve()); // true
isPromise({}); // falseisDef(value)
描述:
判断值是否已定义(不为 undefined 和 null)
参数:
| 参数名 | 描述 |
|---|---|
| value | 输入数据 |
返回:
是否已定义
示例
isDef(0); // true
isDef(''); // true
isDef(null); // false
isDef(undefined); // falseisObj(x)
描述:
判断是否为对象或函数
参数:
| 参数名 | 描述 |
|---|---|
| x | 输入数据 |
返回:
是否为对象或函数
示例
isObj({}); // true
isObj(() => {}); // true
isObj(null); // falseisObject(val)
描述:
判断是否为对象类型
参数:
| 参数名 | 描述 |
|---|---|
| val | 输入数据 |
返回:
是否为对象
示例
isObject({}); // true
isObject([]); // true
isObject(null); // falseisImageUrl(url)
描述:
判断 URL 是否为图片地址 根据文件扩展名判断(jpeg、jpg、gif、png、svg、webp、jfif、bmp、dpg)
参数:
| 参数名 | 描述 |
|---|---|
| url | URL 地址 |
返回:
是否为图片 URL
示例
isImageUrl('https://example.com/image.jpg'); // true
isImageUrl('https://example.com/video.mp4'); // falseisVideoUrl(url)
描述:
判断 URL 是否为视频地址 根据文件扩展名判断(mp4、mpg、mpeg、dat、asf、avi、rm、rmvb、mov、wmv、flv、mkv)
参数:
| 参数名 | 描述 |
|---|---|
| url | URL 地址 |
返回:
是否为视频 URL
示例
isVideoUrl('https://example.com/video.mp4'); // true
isVideoUrl('https://example.com/image.jpg'); // falseisNumber(value)
描述:
判断字符串是否为数字格式 支持整数和小数
参数:
| 参数名 | 描述 |
|---|---|
| value | 输入值 |
返回:
是否为数字格式
示例
isNumber('123'); // true
isNumber('123.45'); // true
isNumber('abc'); // falseisExternal(path)
描述:
判断是否外部资源
参数:
| 参数名 | 类型 |
|---|---|
| path | string |
validURL(url)
描述:
判断是否URL
参数:
| 参数名 | 类型 |
|---|---|
| url | string |
validLowerCase(str)
描述:
判断是否小写
参数:
| 参数名 | 类型 |
|---|---|
| str | string |
validUpperCase(str)
描述:
判断是否大写
参数:
| 参数名 | 类型 |
|---|---|
| str | string |
validAlphabets(str)
描述:
判断是否字母字符串
参数:
| 参数名 | 类型 |
|---|---|
| str | string |
validEmail(email)
描述:
判断是否合法邮箱地址
参数:
| 参数名 | 类型 |
|---|---|
string |
isString(str)
描述:
判断是否字符串
参数:
| 参数名 | 类型 |
|---|---|
| str | string |
isArray(arg)
描述:
判断是否数组
参数:
| 参数名 | 类型 |
|---|---|
| arg | Array |
isQQNumber(qq)
描述:
判断是否合法的QQ号码
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
String | 待检测的qq号 |
isEmail(email)
描述:
判断是否合法的邮箱号码
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
String | 待检测的邮箱号码 |
isMobile(phone)
描述:
判断是否合法的手机号
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| phone | String | 待检测的手机号 |
isTel(tel)
描述:
判断是否合法的电话号码
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| tel | String | 待检测的电话号码 |
isWindows()
描述:
判断当前操作系统是否为 Windows
参数:
返回:
如果是 Windows 系统返回 true,否则返回 false
示例
if (isWindows()) {
console.log('当前运行在 Windows 系统上');
}