commonRegex【常见的正则】
# 1.示例 待持续更新
const commonRegex = {
INPUT_FILTER_NUMBER: /[^\d^\.]+/g, // 获取所有的非整数的,一般用于输入框里只能输入整数匹配
HTML_TAG: /<(\S+?)[^<]*>(.*?)<\/\1>/gi, // 获取所有html标签
IMG_HTML_TAG: /<(img)[^<]*>(.*?)<\/\1>/gi, // 获取所有的img标签
HTML_TAG_ATTRS: /(?!=<\w+)(\w*)=[\'\"]?([^\'\"]*)[\'\"][^>|^\s]?/gi, // 获取标签里面所有属性
IMG_HTML_TAG_SRC_ATTR: /src=[\'\"]?([^\'\"]*)[\'\"]?/i, // 获取所有的img src属性值
URL: /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/, // 判断是否是合法url
MOBILE_PHONE: /^1(3[0-9]|5[0-3,5-9]|7[1-3,5-8]|8[0-9])\d{8}$/, // 手机号码
TELEPHONE: /^(\(\d{3,4}-)|\d{3,4}-?\d{7,8}$/, // 座机号码 ("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX)
EMAIL: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, // 邮箱校验
SEARCH_URL: /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/, // 浏览器URL地址校验
CHINA_PHONE: /\d{3}-\d{8}|\d{4}-\d{7}/, // 国内电话号码 (0511-4405222、021-87888822)
ONLY_CH: /^[\u2E80-\u9FFF]+$/, // 仅匹配中文字符
ONLY_ENGLISH: /^[A-Za-z]+$/, // 仅匹配英文字符
ONLY_UP_ENGLISH: /^[A-Z]+$/, // 仅匹配大写字母
ONLY_LOW_ENGLISH: /^[a-z]+$/, // 仅匹配小写字母
// 身份证校验
CARD_ID:
/^(([1][1-5])|([2][1-3])|([3][1-7])|([4][1-6])|([5][0-4])|([6][1-5])|([7][1])|([8][1-2]))\d{4}(([1][9]\d{2})|([2]\d{3}))(([0][1-9])|([1][0-2]))(([0][1-9])|([1-2][0-9])|([3][0-1]))\d{3}[0-9xX]$/,
HK_CARD_ID: /^([A-Z]\d{6,10}(\(\w{1}\))?)$/, // 港澳居民来内地通行证 规则: H/M + 10为或者6位数字 例如:H1234567890
TW_CARD_ID: /^\d{8}|^[a-zA-Z0-9]{10}|^\d{18}$/, // 台湾居民来大陆通行证
PASS_PORT: /^([a-zA-z]|[0-9]){5,17}$/, // 护照正则
WEAK_PASSWORD: /^[a-zA-Z]\w{5,17}$/, // 以字母开头,长度在6~18之间,只能包含字母、数字和下划线
STRONG_PASSWORD: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/, // 强密码 必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间
DATE_FORMAT: /^\d{4}-\d{1,2}-\d{1,2}/, // 例如 2022-08-01 或者 2022-8-1
// 下方为强日期校验,考虑了平年闰年的日期校验,格式为 'yyyy-mm-dd'
STRONG_DATE_FORMAT:
/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/,
SOCIAL_CODE: /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/, // 社会信用代码
TENCENT_QQ: /[1-9][0-9]{4,}/, // 腾讯QQ
POST_CODE: /[1-9]\d{5}(?!\d)/, // 中国邮编
BLANK_ROW: /\n\s*\r/ // 空白行校验
}
export default commonRegex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
上次更新: 2024/01/16, 00:19:48