通用正则
引入正则
在使用正则表达式进行校验前,我们首先要从utils/regExp
中引入,例如我们需要使用编码大写校验时:
import {CODE_UPPER} from "utils/regExp";
1. EMAIL 邮箱
- 校验邮箱
- 提示: intl.get(‘hzero.common.validation.email’).d(‘邮箱格式不正确’)
/**
* 验证 邮箱
* 提示: 邮箱格式不正确
*/
export const EMAIL = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
2. PHONE 手机号码
- 校验手机号码
- 提示 intl.get(‘hzero.common.validation.phone’).d(‘手机格式不正确’)
/**
* 验证 手机,
* 提示: 手机格式不正确
*/
export const PHONE = /^134[0-8]\d{7}$|^13[^4]\d{8}$|^14[5-9]\d{8}$|^15[^4]\d{8}$|^16[6]\d{8}$|^17[0-8]\d{8}$|^18[\d]{9}$|^19[8,9]\d{8}$/;
3. TRIM 空格
- 检测前后空格
- 提示 intl.get(‘hzero.common.validate.trim’).d(‘前后不能为空’)
- 推荐使用 Input 组件的trim 属性(默认开启)
/**
* 验证 字符串 前后 必须为 非空白字符
* 提示: 前后不能为空
*/
export const TRIM = /^\S$|^\S.*\S$/;
4. PASSWORD 密码
- 校验密码
- 提示 intl.get(‘hzero.common.validation.password’).d(‘至少包含数字/字母/字符2种组合,长度为6-30个字符’)
/**
* 验证 密码
* 提示: 至少包含数字/字母/字符2种组合,长度为6-30个字符
*/
export const PASSWORD = /^(?![0-9]+$)(?![a-zA-Z]+$)(?![a-z]+$)(?![!@#$%^&*=]+$)[0-9A-Za-z!@#$%^&*=]{6,30}$/;
5. STRICT_URL 网址
- 校验网址
- 提示 intl.get(‘hzero.common.validation.httpUrl’).d(‘请输入以“http/https”开头的正确网址’)
/**
* 验证 网址,必须带有http | https
* 提示: 请输入以“http/https”开头的正确网址
*/
export const STRICT_URL = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\\.,@?^=%&:/~\\+#]*[\w\-\\@?^=%&/~\\+#])?/;
6. IDENTITY_CARD 身份证号码
- 校验身份证号码
- 提示 **intl.get(‘hzero.common.validation.identityCard’).d(‘身份证号码格式不正确’)
/**
* 验证 编码 小写限制
* 提示:intl.get('hzero.common.validation.codeLower').d('全小写及数字,必须以字母、数字开头,可包含“-”、“_”、“.”、“/”')
*/
export const CODE_LOWER = /^[a-z0-9][a-z0-9-_./]*$/;
7. PASSPORT 护照号码
- 校验护照号码
- 提示 **intl.get(‘hzero.common.validation.passport’).d(‘护照号码格式不正确’)
/**
* 验证 护照号码
* 提示: intl.get('hzero.common.validation.passport').d('护照号码格式不正确')
*/
export const PASSPORT = /^1[45][0-9]{7}$|(^[P|p|S|s]\d{7}$)|(^[S|s|G|g|E|e]\d{8}$)|(^[Gg|Tt|Ss|Ll|Qq|Dd|Aa|Ff]\d{8}$)|(^[H|h|M|m]\d{8,10}$)/;
8. CODE 编码 大小写限制
- 校验编码大小写限制
- 提示 **intl.get(‘hzero.common.validation.code’).d(‘大小写及数字,必须以字母、数字开头,可包含“-”、“_”、“.”、“/”')
/**
* 验证 编码 大小写限制
* 提示:intl.get('hzero.common.validation.code').d('大小写及数字,必须以字母、数字开头,可包含“-”、“_”、“.”、“/”')
*/
export const CODE = /^[a-zA-Z0-9][a-zA-Z0-9-_./]*$/;
9. CODE_LOWER 编码 小写限制
- 校验编码小写限制
- 提示 **intl.get(‘hzero.common.validation.codeLower’).d(‘全小写及数字,必须以字母、数字开头,可包含“-”、“_”、“.”、“/”')
/**
* 验证 编码 小写限制
* 提示:intl.get('hzero.common.validation.codeLower').d('全小写及数字,必须以字母、数字开头,可包含“-”、“_”、“.”、“/”')
*/
export const CODE_LOWER = /^[a-z0-9][a-z0-9-_./]*$/;
10. CODE_UPPER 编码 大写限制
- 校验编码大写限制
- 提示 **intl.get(‘hzero.common.validation.codeUpper’).d(‘全大写及数字,必须以字母、数字开头,可包含“-”、“_”、“.”、“/”')
/**
* 验证 编码 大写限制
* 提示:intl.get('hzero.common.validation.codeUpper').d('全大写及数字,必须以字母、数字开头,可包含“-”、“_”、“.”、“/”')
*/
export const CODE_UPPER = /^[A-Z0-9][A-Z0-9-_./]*$/;
11. NOT_CHINA_PHONE 非+86手机号
- 校验非+86手机号
- 提示 **intl.get(‘hzero.common.validation.phone’).d(‘手机格式不正确’)
/**
* 非+86手机号码 仅且仅能包含数字
* 验证 非+86手机号码
* 提示: intl.get('hzero.common.validation.phone').d('手机格式不正确')
*/
export const NOT_CHINA_PHONE = /^\d+$/;