Merge branch 'develop' into master

This commit is contained in:
any86 2021-10-20 22:39:20 +08:00 committed by GitHub
commit 4fafde7efc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 470 additions and 378 deletions

7
.gitignore vendored
View File

@ -1,5 +1,12 @@
out
node_modules
coverage
.nyc_output
.vscode-test/
.idea
.vscode
.DS_Store
*.vsix
yarn-error.log
.rpt2_cache
dist

View File

@ -1,6 +1,14 @@
# 更新日志
🚀 [提交问题](https://github.com/any86/any-rule/issues/new)
### 0.3.12(2021-10-20)
- 修复网址中带有"()"不能通过.
- 新增"整数"/"浮点数"等正则.
### 0.3.11(2021-09-26)
- 修复新版vscode中"@zz"字符失效.
- 优化"身份证15/18"正则.
### 0.3.10(2021-05-28)
- 禁止"日期"可以通过"00"月和"00"日
### 0.3.9(2021-04-20)

View File

@ -1,4 +1,6 @@
# 正则大全 ![已收录71条](https://img.shields.io/badge/已收录-71条-673ab7.svg) [![版本](https://badgen.net/vs-marketplace/v/russell.any-rule)](https://marketplace.visualstudio.com/items?itemName=russell.any-rule) [![安装量](https://badgen.net/vs-marketplace/i/russell.any-rule)](https://marketplace.visualstudio.com/items?itemName=russell.any-rule) [![下载量](https://badgen.net/vs-marketplace/d/russell.any-rule)](https://marketplace.visualstudio.com/items?itemName=russell.any-rule) ![MIT](https://img.shields.io/badge/license-MIT-F44336.svg) [![CircleCI](https://badgen.net/github/status/any86/any-rule/master/ci/circleci)](https://circleci.com/gh/any86/any-rule)
# 正则大全 ![已收录75条](https://img.shields.io/badge/已收录-75条-673ab7.svg) [![版本](https://badgen.net/vs-marketplace/v/russell.any-rule)](https://marketplace.visualstudio.com/items?itemName=russell.any-rule) [![安装量](https://badgen.net/vs-marketplace/i/russell.any-rule)](https://marketplace.visualstudio.com/items?itemName=russell.any-rule) [![下载量](https://badgen.net/vs-marketplace/d/russell.any-rule)](https://marketplace.visualstudio.com/items?itemName=russell.any-rule) ![MIT](https://img.shields.io/badge/license-MIT-F44336.svg) [![CircleCI](https://badgen.net/github/status/any86/any-rule/master/ci/circleci)](https://circleci.com/gh/any86/any-rule)
🦕支持**web** / **vscode** / **idea** / **Alfred Workflow**多平台
@ -78,7 +80,7 @@ vscode应用商店中搜索"**any-rule**".
### 网址(url,支持端口和"?+参数"和"#+参数)
```javascript
/^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/
/^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-\(\)]*[\w@?^=%&/~+#-\(\)])?$/
```
### 统一社会信用代码
@ -148,7 +150,7 @@ vscode应用商店中搜索"**any-rule**".
### html注释
```javascript
/^<!--[\s\S]*?-->$/
/<!--[\s\S]*?-->/g
```
### md5格式(32位)
@ -273,7 +275,7 @@ vscode应用商店中搜索"**any-rule**".
### 身份证号, 支持1/2代(15位/18位数字)
```javascript
/(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/
/^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/
```
### 护照(包含香港、澳门)
@ -414,4 +416,29 @@ vscode应用商店中搜索"**any-rule**".
### 大写字母,小写字母,数字,特殊符号 `@#$%^&*`~()-+=` 中任意3项密码
```javascript
/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]/
### 正整数不包含0
```javascript
/^\+?[1-9]\d*$/
```
### 负整数不包含0
```javascript
/^-[1-9]\d*$/
```
### 整数
```javascript
/^-?[0-9]\d*$/
```
### 浮点数
```javascript
/^(-?\d+)(\.\d+)?$/
```
### email(支持中文邮箱)
```javascript
/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
```

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "any-rule",
"version": "0.3.10",
"version": "0.3.12",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -3,7 +3,7 @@
"publisher": "russell",
"displayName": "any-rule",
"description": "你要的\"正则\"都在这!",
"version": "0.3.10",
"version": "0.3.12",
"husky": {
"hooks": {
"pre-push": "npm run test:rules"
@ -48,6 +48,11 @@
"type": "string",
"default": "@zz",
"description": "触发字符串"
},
"any-rule.supportedLanguages": {
"type": "string",
"default": "*,javascript,javascriptreact,typescript,typescriptreact,vue,vue-postcss,vue-sugarss,vue-html,json,jsonc,graphql,dart,sql,go,java,php,jade,python,swift,markdown",
"description": "支持的开发语言(用','分割)"
}
}
},
@ -341,9 +346,29 @@
"command": "extension.rule69",
"title": "$(rocket) zz: 台湾身份证 "
},
{
"command": "extension.rule70",
"title": "$(rocket) zz: 正整数不包含0"
},
{
"command": "extension.rule71",
"title": "$(rocket) zz: 负整数不包含0"
},
{
"command": "extension.rule72",
"title": "$(rocket) zz: 整数"
},
{
"command": "extension.rule73",
"title": "$(rocket) zz: 浮点数"
},
{
"command": "extension.rule74",
"title": "$(rocket) zz: email(支持中文邮箱)"
},
{
"command": "extension.rule.callByMenu",
"title": "🦕正则大全(70条)"
"title": "🦕正则大全(75条)"
}
]
},

View File

@ -376,7 +376,7 @@ main {
color: #fff;
font-size: 12px;
cursor: pointer;
box-shadow: 1px 2px 3px 1px $primary;
box-shadow: 1px 2px 3px $primary;
&.success {
&:after {
content: '复制成功';
@ -391,20 +391,19 @@ main {
}
&:active {
opacity: 0.6;
color: #444;
box-shadow: none;
}
&:hover {
transition: all 0.3s;
opacity: 0.6;
box-shadow: none;
color: rgba(255, 255, 255, 0.6)
}
}
> .btn-better {
@extend .btn-copy;
background-color: $danger;
box-shadow: 1px 2px 3px 1px $danger;
box-shadow: 1px 2px 3px $danger;
}
> code {

View File

@ -16,8 +16,8 @@ module.exports = [{
},
{
title: '网址(url,支持端口和"?+参数"和"#+参数)',
rule: /^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?$/,
examples: ['www.qq.com', 'https://baidu.com', '360.com:8080/vue/#/a=1&b=2'],
rule: /^(((ht|f)tps?):\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-\(\)]*[\w@?^=%&/~+#-\(\)])?$/,
examples: ['www.qq.com', 'https://baidu.com', 'http://baidu.com', 'https://www.amap.com/search?id=BV10060895&city=420111&geoobj=113.207951%7C29.992557%7C115.785782%7C31.204369&query_type=IDQ&query=%E5%85%89%E8%B0%B7%E5%B9%BF%E5%9C%BA(%E5%9C%B0%E9%93%81%E7%AB%99)&zoom=10.15', '360.com:8080/vue/#/a=1&b=2'],
counterExamples: ['....']
},
{
@ -89,8 +89,8 @@ module.exports = [{
},
{
title: 'html注释',
rule: /^<!--[\s\S]*?-->$/,
examples: ['<!--<div class="_bubble"></div>-->']
rule: /<!--[\s\S]*?-->/g,
examples: ['<!--<div class="_bubble"></div>--><div>chenguzhen87</div><div class="_bubble"></div>-->']
},
{
title: 'md5格式(32位)',
@ -115,7 +115,7 @@ module.exports = [{
{
title: '图片(image)链接地址(图片格式可按需增删)',
rule: /^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i,
examples: ['https://www.abc.com/logo.png']
examples: ['https://www.abc.com/logo.png', 'http://www.abc.com/logo.png']
},
{
title: '24小时制时间HH:mm:ss',
@ -198,7 +198,7 @@ module.exports = [{
{
title: 'email(邮箱)',
rule: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
examples: ['90203918@qq.com', 'nbilly@126.com']
examples: ['90203918@qq.com', 'nbilly@126.com', '汉字@qq.com']
},
{
@ -219,8 +219,8 @@ module.exports = [{
},
{
title: '身份证号, 支持1/2代(15位/18位数字)',
rule: /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/,
examples: ['622223199912051311']
rule: /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
examples: ['622223199912051311','12345619991205131x','123456991010193']
},
{
title: '护照(包含香港、澳门)',
@ -359,8 +359,34 @@ module.exports = [{
examples: ['U193683453']
},
{
title: '大写字母,小写字母,数字,特殊符号 `@#$%^&*`~()-+=` 中任意3项密码',
rule: /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]/,
examples: ['a1@','A1@','Aa@']
},
title: '正整数不包含0',
rule: /^\+?[1-9]\d*$/,
examples: [1231]
},
{
title: '负整数不包含0',
rule: /^-[1-9]\d*$/,
examples: [-1231]
},
{
title: '整数',
rule: /^-?[0-9]\d*$/,
examples: [-1231, 123]
},
{
title: '浮点数',
rule: /^(-?\d+)(\.\d+)?$/,
examples: [1.5]
},
{
title: 'email(支持中文邮箱)',
rule: /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/,
examples: ['90203918@qq.com', 'nbilly@126.com', '啦啦啦@126.com']
}
];

View File

@ -87,16 +87,16 @@ function insertRule(document: TextDocument, position: Position, ruleString: stri
// 获取配置
function getConfig() {
const configuration = workspace.getConfiguration();
const { triggerString } = configuration['any-rule'];
const { triggerString, supportedLanguages } = configuration['any-rule'];
const { length } = triggerString;
const triggerStringStart = triggerString.substr(0, length - 1);
const triggerStringEnd = triggerString.substr(-1);
console.log(supportedLanguages);
return {
triggerStringStart,
triggerStringEnd,
triggerString,
// 预留
supportedLanguages: '*'
supportedLanguages
}
}