diff --git a/README.md b/README.md index 822049d..529ab5e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 正则大全 +# 正则大全 图形界面: https://any86.github.io/any-rule/ ## 24小时制时间(HH-mm-ss) @@ -66,14 +66,9 @@ /^1[3-9]\d{9}$/ ``` -## 大写字母 +## 日期, 如: 2000-01-01或2000-1-1 ```javascript -/^[A-Z]+$/ -``` - -## 日期, 如: 2000-01-01 -```javascript -/^\d{4}(-)([0-1][0-2]|\d)\1([0-2]\d|30|31)$/ +/^\d{4}(-)([0-1][0-2]|\d)\1([0-2]\d|\d|30|31)$/ ``` ## email地址 @@ -86,9 +81,19 @@ /\d{3}-\d{8}|\d{4}-\d{7}/ ``` -## 身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X +## 一代身份证号(15位数字) ```javascript -/(^\d{6}\d{2}([0-1][0-2]|\d)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}([0-1][0-2]|\d)([0-2]\d|30|31)\d{3}(\d|X|x)$)/ +/^\d{8}(0\d|11|12)([0-2]\d|30|31)\d{3}$/ +``` + +## 二代身份证号(18位数字),最后一位是校验位,可能为数字或字符X +```javascript +/^\d{6}(18|19|20)\d{2}(0\d|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$/ +``` + +## 身份证号, 支持1/2代(15位/18位数字) +```javascript +/(^\d{8}(0\d|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/ ``` ## 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线组合 @@ -96,7 +101,7 @@ /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/ ``` -## 只包含中文 +## 纯中文/汉字 ```javascript /^[\u4E00-\u9FA5]+$/ ``` @@ -106,14 +111,14 @@ /^\d+\.\d+$/ ``` -## 是否电话格式(手机和座机) +## 电话(座机) ```javascript -/^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/ +/^0\d{2,3}-\d{7,8}$/ ``` -## 是否8位纯数字 +## 纯数字 ```javascript -/^[0-9]{8}$/ +/^\d{1,}$/ ``` ## 是否html标签 @@ -131,11 +136,21 @@ /^[A-Za-z0-9]+$/ ``` -## 是否小写字母组成 +## 纯英文字母 +```javascript +/^[a-zA-Z]+$/ +``` + +## 纯小写英文字母组成 ```javascript /^[a-z]+$/ ``` +## 纯大写英文字母 +```javascript +/^[A-Z]+$/ +``` + ## 密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 ```javascript /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/ diff --git a/src/RULES.js b/src/RULES.js index 308e876..7a035af 100644 --- a/src/RULES.js +++ b/src/RULES.js @@ -63,14 +63,10 @@ module.exports = [{ rule: /^1[3-9]\d{9}$/, example: '如: 18311006933、17888829981' }, + { - title: '大写字母', - rule: /^[A-Z]+$/, - example: '如: ABC、KD' - }, - { - title: '日期, 如: 2000-01-01', - rule: /^\d{4}(-)([0-1][0-2]|\d)\1([0-2]\d|30|31)$/, + title: '日期, 如: 2000-01-01或2000-1-1', + rule: /^\d{4}(-)([0-1][0-2]|\d)\1([0-2]\d|\d|30|31)$/, example: '如: 1990-12-12、2020-01-01' }, { @@ -84,8 +80,18 @@ module.exports = [{ example: '如: 0936-4211235' }, { - title: '身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X', - rule: /(^\d{6}\d{2}([0-1][0-2]|\d)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}([0-1][0-2]|\d)([0-2]\d|30|31)\d{3}(\d|X|x)$)/, + title: '一代身份证号(15位数字)', + rule: /^\d{8}(0\d|11|12)([0-2]\d|30|31)\d{3}$/, + example: '如: 622001790131123' + }, + { + title: '二代身份证号(18位数字),最后一位是校验位,可能为数字或字符X', + rule: /^\d{6}(18|19|20)\d{2}(0\d|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$/, + example: '如: 62222319991205131x' + }, + { + title: '身份证号, 支持1/2代(15位/18位数字)', + rule: /(^\d{8}(0\d|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0\d|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/, example: '如: 622223199912051311' }, { @@ -94,7 +100,7 @@ module.exports = [{ example: '如: justin、justin1989、justin_666' }, { - title: '只包含中文', + title: '纯中文/汉字', rule: /^[\u4E00-\u9FA5]+$/, example: '如: 正则、前端' }, @@ -104,13 +110,13 @@ module.exports = [{ example: '如: 0.0、0.09' }, { - title: '是否电话格式(手机和座机)', - rule: /^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/, - example: '如: 0936-4211236、19888978261' + title: '电话(座机)', + rule: /^0\d{2,3}-\d{7,8}$/, + example: '如: 0936-4211236' }, { - title: '是否8位纯数字', - rule: /^[0-9]{8}$/, + title: '纯数字', + rule:/^\d{1,}$/, example: '如: 12345678' }, { @@ -129,10 +135,20 @@ module.exports = [{ example: '如: james666、haha233hi' }, { - title: '是否小写字母组成', + title: '纯英文字母', + rule: /^[a-zA-Z]+$/, + example: '如: russel' + }, + { + title: '纯小写英文字母组成', rule: /^[a-z]+$/, example: '如: russel' }, + { + title: '纯大写英文字母', + rule: /^[A-Z]+$/, + example: '如: ABC、KD' + }, { title: '密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符', rule: /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/,