cpms_operation_platform/src/utils/form.ts

48 lines
1.5 KiB
TypeScript
Raw Normal View History

/**
*
*
* antd/framework
* Form.Item rules controller.ts
*/
// ============================================================
// 正则常量
// ============================================================
/**
*
* - 11 3-9
*/
export const CHINA_PHONE_REGEX = /^1[3-9]\d{9}$/;
/**
*
* - 8
* - !@#$%^&*()_+-=
*/
export const LOGIN_PASSWORD_REGEX = /^(?=.*[A-Za-z])(?=.*\d)[\w!@#$%^&*()_+\-=]{8,}$/;
/**
* //1-8
*/
export const REAL_NAME_REGEX = /^[\u4e00-\u9fa5A-Za-z0-9·]{1,8}$/;
// ============================================================
// 校验函数
// ============================================================
/** 校验中国大陆手机号 */
export function isChinaPhone(value: unknown): boolean {
return typeof value === 'string' && CHINA_PHONE_REGEX.test(value);
}
/** 校验密码:至少 8 位 + 同时含字母与数字 */
export function isValidPassword(value: unknown): boolean {
return typeof value === 'string' && LOGIN_PASSWORD_REGEX.test(value);
}
/** 校验真实姓名1-8 个字符 */
export function isValidRealName(value: unknown): boolean {
return typeof value === 'string' && value.length > 0 && REAL_NAME_REGEX.test(value);
}