61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
|
export { isArray, isBoolean, isDate, isObject, isFunction, isString, isNumber, isNull } from 'lodash-es'
|
|||
|
import { isObject } from 'lodash-es'
|
|||
|
/**
|
|||
|
* @description 是否是http,邮件,电话号码
|
|||
|
*/
|
|||
|
export function isExternal(path: string) {
|
|||
|
return /^(https?:|mailto:|tel:)/.test(path)
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @description 是否是http
|
|||
|
*/
|
|||
|
export const isLinkHttp = (link: string): boolean => /^(https?:)?\/\//.test(link)
|
|||
|
|
|||
|
/**
|
|||
|
* @description 是否是电话号码
|
|||
|
*/
|
|||
|
export const isLinkTel = (link: string): boolean => /^tel:/.test(link)
|
|||
|
|
|||
|
/**
|
|||
|
* @description 是否是手机号码
|
|||
|
*/
|
|||
|
export const isPhone = (link: string): boolean => /^1[3|5|6|7|8|9][0-9]{9}$/.test(link)
|
|||
|
|
|||
|
/**
|
|||
|
* @description 是否是邮件
|
|||
|
*/
|
|||
|
export const isLinkMailto = (link: string): boolean => /^mailto:/.test(link)
|
|||
|
|
|||
|
/**
|
|||
|
* @description 是否为空
|
|||
|
* @param {unknown} value
|
|||
|
* @return {Boolean}
|
|||
|
*/
|
|||
|
export const isEmpty = (value: unknown) => {
|
|||
|
return value !== null && value !== '' && typeof value !== 'undefined'
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @description 是否为空对象
|
|||
|
* @param {Object} value
|
|||
|
* @return {Boolean}
|
|||
|
*/
|
|||
|
export const isEmptyObject = (target: object) => {
|
|||
|
return isObject(target) && !Object.keys(target).length
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 手机号码验证
|
|||
|
*/
|
|||
|
export const PhoneReg = /^1[3|4|5|6|7|8|9][0-9]{9}$/
|
|||
|
|
|||
|
export const validateIdCard = (rule, value, callback) => {
|
|||
|
const reg = /^[1-9]\d{5}(18|19|20|21|22)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|[Xx])$/
|
|||
|
if (reg.test(value) === false) {
|
|||
|
callback(new Error('请输入正确的身份证号码'))
|
|||
|
} else {
|
|||
|
callback()
|
|||
|
}
|
|||
|
}
|