abbott-methods
Version:
abbott,methods,method,functions,function
32 lines (31 loc) • 960 B
text/typescript
import { formatIdCard } from '../format/formatIdCard'
import { typeEmpty } from '../type/typeEmpty'
/**
* @desc 验证是否身份证号码格式
* @param {Boolean} required
* @param {String} validateValue
* @param {*} callback
* @param {String} field
* @param {String} action
*/
export const vIdCard = (required: boolean, validateValue: string, callback: any, field: string = '身份证号码', action: string = '填写'): void => {
if (!required && !validateValue) {
callback()
} else {
const number = 18
if (typeEmpty(validateValue)) {
action = action || '填写'
callback(new Error(`${field}必须${action}`))
} else {
if (formatIdCard(validateValue)) {
if (validateValue.length !== number) {
callback(new Error(`${field}的长度为${number}个字符`))
} else {
callback()
}
} else {
callback(new Error(`${field}格式不正确`))
}
}
}
}