├── README.md └── snippet.json /README.md: -------------------------------------------------------------------------------- 1 | # VSCode-Snippet 2 | 3 | ### 正则代码片段的由来 4 | 在掘金上摸鱼,发现一位老铁开发了一个VSCode插件,是关于正则表达式的,叫什么我忘记了;有大概200 多个点赞 100多条回复消息我当时都吓尿了(我每次的沸点都没有人看,我安利的VSCode拓展都没有人回复评论---手动哭脸)。正则表达式的插件都能这么火说明是刚需,那个开发的老铁给他点赞。但是说实话我们其实不需要安装这个插件的,完全可以实现正则表达式在编辑器中提示: 5 | 6 | 这个做最大的好处如下: 7 | * 不需要安装拓展 8 | * 自定义常用正则更加方便 9 | * 直接代码提示更加快捷 10 | * ....... 11 | ![动态图](https://user-gold-cdn.xitu.io/2019/8/5/16c5fe8916cc9347?w=884&h=681&f=gif&s=288869) 12 | 13 | [关于代码片段配置使用细节可以点击这里查看](https://code.visualstudio.com/docs/editor/userdefinedsnippets) 14 | -------------------------------------------------------------------------------- /snippet.json: -------------------------------------------------------------------------------- 1 | { 2 | // Place your snippets for javascript here. Each snippet is defined under a snippet name and has a prefix, body and 3 | // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: 4 | // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the 5 | // same ids are connected. 6 | "Reg.num": { 7 | "prefix": ["reg","reg.num"], 8 | "body": [ 9 | "/^[0-9]*$/$1", 10 | ], 11 | "description": "数字" 12 | }, 13 | "Reg.num.t": { 14 | "prefix": ["reg","reg.num","reg.num.t"], 15 | "body": [ 16 | "/^[0-9]*$/.test($1)", 17 | ], 18 | "description": "数字-test" 19 | }, 20 | "Reg.ch": { 21 | "prefix": ["reg","reg.ch"], 22 | "body": [ 23 | "/^[\\u4e00-\\u9fa5]{0,}$/$1", 24 | ], 25 | "description": "中文" 26 | }, 27 | "Reg.ch.t": { 28 | "prefix": ["reg","reg.ch"], 29 | "body": [ 30 | "/^[\\u4e00-\\u9fa5]{0,}$/.test($1)", 31 | ], 32 | "description": "中文-test" 33 | }, 34 | "Reg.en": { 35 | "prefix": ["reg","reg.en"], 36 | "body": [ 37 | "/^[A-Za-z]+$/$1", 38 | ], 39 | "description": "英文字母" 40 | }, 41 | "Reg.en.t": { 42 | "prefix": ["reg","reg.en"], 43 | "body": [ 44 | "/^[A-Za-z]+$/.test($1)", 45 | ], 46 | "description": "英文字母-test" 47 | }, 48 | "Reg.en.upper": { 49 | "prefix": ["reg","reg.en"], 50 | "body": [ 51 | "/^[A-Z]+$/$1", 52 | ], 53 | "description": "英文大写" 54 | }, 55 | "Reg.en.upper.t": { 56 | "prefix": ["reg","reg.en"], 57 | "body": [ 58 | "/^[A-Z]+$/.test($1)", 59 | ], 60 | "description": "英文大写-test" 61 | }, 62 | "Reg:cn.lower": { 63 | "prefix": ["reg","reg.en"], 64 | "body": [ 65 | "/^[a-z]+$/$1", 66 | ], 67 | "description": "英文小写" 68 | }, 69 | "Reg:cn.lower.t": { 70 | "prefix": ["reg","reg.en"], 71 | "body": [ 72 | "/^[a-z]+$/.test($1)", 73 | ], 74 | "description": "英文小写-test" 75 | }, 76 | "Reg.phone": { 77 | "prefix": ["reg","reg.phone"], 78 | "body": [ 79 | "/^1[3456789]\\d{9}$/$1", 80 | ], 81 | "description": "电话" 82 | }, 83 | "Reg.phone.t": { 84 | "prefix": ["reg","reg.phone"], 85 | "body": [ 86 | "/^1[3456789]\\d{9}$/.test($1)", 87 | ], 88 | "description": "电话-test" 89 | }, 90 | "Reg.email": { 91 | "prefix": ["reg","reg.email"], 92 | "body": [ 93 | "/^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/$1", 94 | ], 95 | "description": "邮箱" 96 | }, 97 | "Reg.email.t": { 98 | "prefix": ["reg","reg.email"], 99 | "body": [ 100 | "/^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/.test($1)", 101 | ], 102 | "description": "邮箱-test" 103 | }, 104 | "Reg.n-num": { 105 | "prefix": ["reg","reg.n-num"], 106 | "body": [ 107 | "/^d{n}$/$1", 108 | ], 109 | "description": "n位的数字" 110 | }, 111 | "Reg.n-num.t": { 112 | "prefix": ["reg","reg.n-num"], 113 | "body": [ 114 | "/^d{n}$/.test($1)", 115 | ], 116 | "description": "n位的数字-test" 117 | }, 118 | "Reg.l-num": { 119 | "prefix": ["reg","reg.l-num"], 120 | "body": [ 121 | "/^d{n,}$/$1", 122 | ], 123 | "description": "至少n位的数字" 124 | }, 125 | "Reg.l-num.t": { 126 | "prefix": ["reg","reg.l-num"], 127 | "body": [ 128 | "/^d{n,}$/.test($1)", 129 | ], 130 | "description": "至少n位的数字-test" 131 | }, 132 | "Reg.ml-num": { 133 | "prefix": ["reg","reg.ml-num"], 134 | "body": [ 135 | "/^d{m,n}$/$1", 136 | ], 137 | "description": "m-n位的数字" 138 | }, 139 | "Reg.ml-num.t": { 140 | "prefix": ["reg","reg.ml-num"], 141 | "body": [ 142 | "/^d{m,n}$/.test($1)", 143 | ], 144 | "description": "m-n位的数字-test" 145 | }, 146 | "Reg.en-num": { 147 | "prefix": ["reg","reg.en-num"], 148 | "body": [ 149 | "/^[A-Za-z0-9]+$/$1", 150 | ], 151 | "description": "英文和数字" 152 | }, 153 | "Reg.en-num.t": { 154 | "prefix": ["reg","reg.en-num"], 155 | "body": [ 156 | "/^[A-Za-z0-9]+$/.test($1)", 157 | ], 158 | "description": "英文和数字-test" 159 | }, 160 | "Reg.ch-en-num": { 161 | "prefix": ["reg","reg.ch-cn-num"], 162 | "body": [ 163 | "/^[\\u4E00-\\u9FA5A-Za-z0-9_]+$/$1", 164 | ], 165 | "description": "中文、英文、数字包括下划线正则表达式" 166 | }, 167 | "Reg.ch-en-num.t": { 168 | "prefix": ["reg","reg.ch-cn-num"], 169 | "body": [ 170 | "/^[\\u4E00-\\u9FA5A-Za-z0-9_]+$/.test($1)", 171 | ], 172 | "description": "中文、英文、数字包括下划线正则表达式-test" 173 | }, 174 | "Reg.password": { 175 | "prefix": ["reg","reg.password"], 176 | "body": [ 177 | "/[a-zA-Z]\\w{5,17}$/$1", 178 | ], 179 | "description": "以字母开头,长度在6~18之间,只能包含字母、数字和下划线密码" 180 | }, 181 | "Reg.password.t": { 182 | "prefix": ["reg","reg.password"], 183 | "body": [ 184 | "/[a-zA-Z]\\w{5,17}$/.test($1)", 185 | ], 186 | "description": "以字母开头,长度在6~18之间,只能包含字母、数字和下划线密码-test" 187 | }, 188 | "Reg.space": { 189 | "prefix": ["reg","reg.space"], 190 | "body": [ 191 | "/\\n\\s*\\r/$1", 192 | ], 193 | "description": "空白行" 194 | }, 195 | "Reg.space.t": { 196 | "prefix": ["reg","reg.space"], 197 | "body": [ 198 | "/\\n\\s*\\r/.test($1)", 199 | ], 200 | "description": "空白行-test" 201 | }, 202 | "Reg.s-space": { 203 | "prefix": ["reg","reg.s-space"], 204 | "body": [ 205 | "/^\\s*|\\s*$或(^\\s*)|(\\s*$)/$1", 206 | ], 207 | "description": "首尾空白字符" 208 | }, 209 | "Reg.s-space.t": { 210 | "prefix": ["reg","reg.s-space"], 211 | "body": [ 212 | "/^\\s*|\\s*$或(^\\s*)|(\\s*$)/.test($1)", 213 | ], 214 | "description": "首尾空白字符-test" 215 | }, 216 | "Reg.id": { 217 | "prefix": ["reg","reg.id"], 218 | "body": [ 219 | "/^((\\d{18})|([0-9x]{18})|([0-9X]{18}))$/$1", 220 | ], 221 | "description": "身份证" 222 | }, 223 | "Reg.id.t": { 224 | "prefix": ["reg","reg.id"], 225 | "body": [ 226 | "/^((\\d{18})|([0-9x]{18})|([0-9X]{18}))$/.test($1)", 227 | ], 228 | "description": "身份证-test" 229 | }, 230 | "Reg.url":{ 231 | "prefix": ["reg","reg.url"], 232 | "body": [ 233 | "/^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\/\\w \\.-]*)*\/?$/$1", 234 | ], 235 | "description": "URL规则" 236 | }, 237 | "Reg.url.t":{ 238 | "prefix": ["reg","reg.url"], 239 | "body": [ 240 | "/^(https?:\\/\\/)?([\\da-z\\.-]+)\\.([a-z\\.]{2,6})([\/\\w \\.-]*)*\/?$/.test($1)", 241 | ], 242 | "description": "URL规则-test" 243 | }, 244 | "Reg.date": { 245 | "prefix": ["reg","reg.date"], 246 | "body": [ 247 | "/^\\d{4}-\\d{1,2}-\\d{1,2}/$1", 248 | ], 249 | "description": "日期" 250 | }, 251 | "Reg.date.t": { 252 | "prefix": ["reg","reg.date"], 253 | "body": [ 254 | "/^\\d{4}-\\d{1,2}-\\d{1,2}/.test($1)", 255 | ], 256 | "description": "日期-test" 257 | }, 258 | "Reg.ip": { 259 | "prefix": ["reg","reg.ip"], 260 | "body": [ 261 | "/((?:(?:25[0-5]|2[0-4]d|[01]?d?d).){3}(?:25[0-5]|2[0-4]d|[01]?d?d))/$1", 262 | ], 263 | "description": "IP地址" 264 | }, 265 | "Reg.ip.t": { 266 | "prefix": ["reg","reg.ip"], 267 | "body": [ 268 | "/((?:(?:25[0-5]|2[0-4]d|[01]?d?d).){3}(?:25[0-5]|2[0-4]d|[01]?d?d))/.test($1)", 269 | ], 270 | "description": "IP地址-test" 271 | }, 272 | "Reg.html":{ 273 | "prefix": ["reg","reg.html"], 274 | "body": [ 275 | "/^<([a-z]+)([^<]+)*(?:>(.*)<\\/\\\\\\1>|\\s+\\/>)$/$1", 276 | ], 277 | "description": "html片段" 278 | }, 279 | "Reg.html.t":{ 280 | "prefix": ["reg","reg.html"], 281 | "body": [ 282 | "/^<([a-z]+)([^<]+)*(?:>(.*)<\\/\\\\\\1>|\\s+\\/>)$/.test($1)", 283 | ], 284 | "description": "html片段-test" 285 | } 286 | } 287 | --------------------------------------------------------------------------------