访客模块待完成
This commit is contained in:
66
src/utils/Reg.ts
Normal file
66
src/utils/Reg.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* 验证身份证号码(18位,支持尾号x/X)
|
||||
* @param idCard 身份证号
|
||||
* @return {boolean} true 符合 false 不符合
|
||||
*/
|
||||
export function validateIdCard(idCard: string): boolean {
|
||||
// 18位身份证正则
|
||||
const reg = /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/;
|
||||
return reg.test(idCard.trim());
|
||||
}
|
||||
/**
|
||||
* 验证车牌号
|
||||
* @param val 兼容新能源 + 普通车牌
|
||||
* @return {boolean} true 符合 false 不符合
|
||||
*/
|
||||
export function isPlateNumber(val: string): boolean {
|
||||
const reg = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/;
|
||||
return reg.test(val);
|
||||
}
|
||||
/**
|
||||
* 验证金钱
|
||||
* @param {number} val
|
||||
* @return {boolean} true 符合 false 不符合
|
||||
*/
|
||||
export function isMoney(value: number): boolean {
|
||||
const reg = /^(0|[1-9]\d*)(\.\d{1,2})?$/;
|
||||
return reg.test(String(value).trim());
|
||||
}
|
||||
/**
|
||||
* 验证姓名
|
||||
* @param {string} val
|
||||
* @return {boolean} true 符合 false 不符合
|
||||
*/
|
||||
export function isChineseName(val: string): boolean {
|
||||
return /^[\u4e00-\u9fa5·]{2,16}$/.test(String(val).trim());
|
||||
}
|
||||
|
||||
const reg = {
|
||||
/** 金钱 */
|
||||
money: /^(0|[1-9]\d*)(\.\d{1,2})?$/,
|
||||
/** 身份证 */
|
||||
idCard: /^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/,
|
||||
/** 车牌 */
|
||||
PlateNumber: /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/,
|
||||
/** 姓名 */
|
||||
ChineseName: /^[\u4e00-\u9fa5·]{2,16}$/,
|
||||
/** 手机号 */
|
||||
phone: /^1[3-9]\d{9}$/,
|
||||
/** 邮箱 */
|
||||
email: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/,
|
||||
/** QQ */
|
||||
qq: /^[1-9]\d{4,11}$/,
|
||||
/** 微信 */
|
||||
wechat: /^[a-zA-Z][a-zA-Z0-9_-]{5,19}$/
|
||||
};
|
||||
// 自动推导 TS 类型(最标准)
|
||||
export type RegType = keyof typeof reg;
|
||||
/**
|
||||
* 验证姓名
|
||||
* @param {string|number} value
|
||||
* @param {string} regType
|
||||
* @return {boolean} true 符合 false 不符合
|
||||
*/
|
||||
export function validator(value: string | number, regType: RegType): boolean {
|
||||
return reg[regType].test(String(value));
|
||||
}
|
||||
Reference in New Issue
Block a user