1
tonytonychopper 2021-07-11 17:43:50 +08:00
没有很理解你的意思,正则一般不都是自己手撸吗?
|
2
QingStone 2021-07-11 17:50:13 +08:00 via iPhone
没有很理解你的意思,正则一般不都是自己手撸吗?
|
3
xy90321 2021-07-11 18:12:17 +08:00 via iPhone
你是要用正则去做表单项目校验,还是要去校验正则对不对?
|
4
cszchen 2021-07-11 18:27:24 +08:00 via iPhone
正则不都是自己写吗,常用的 email 手机号,随便搜到了
|
5
wohccdaa 2021-07-11 19:31:27 +08:00 via iPhone
没有很理解你的意思,正则一般不都是自己手撸吗?
|
6
mingl0280 2021-07-11 20:04:36 +08:00 via Android 1
正则自己写啊,常用的倒是都搜得到。
regex101.com 自己试 |
7
creanme 2021-07-11 22:13:57 +08:00 2
不太明白封装是啥意思,我前期不会写正则一般是搜索别人写好的正则,然后测试一下。
这里有个比较多收集的正则 https://any86.github.io/any-rule/ 正则可视化 https://regexper.com/ |
8
LouisGuo 2021-07-12 08:48:12 +08:00
磕出响了吗?不响不算的啊
|
9
skys215 2021-07-12 09:10:19 +08:00
还有个 regexr-cn.com 拿来验证正则也不错,是 regexr.com 的中文版
|
10
vincentxue 2021-07-12 13:14:43 +08:00
正则就一字符串,何来封装。直接说出你的需求,大家帮你写。你可能是想找一个正则生成器?
|
11
wdssmq 2021-07-12 13:34:12 +08:00
ajv-validator/ajv: The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09/2020-12 and JSON Type Definition (RFC8927)
https://github.com/ajv-validator/ajv 封装到是有个这个。。 |
12
en20 2021-07-12 19:14:54 +08:00
我猜你是想做 await this.$refs.form.validate() 这种效果的封装?一次写成就可以套到所有项目
|
13
7075 2021-07-13 11:05:51 +08:00
正则还要封装? js 原生已经支持很好了,只需要建立(搜索抄袭)对应的正则规则字符串,用就完了。
|
14
xingyuc 2021-07-13 14:13:20 +08:00
这难道是个抖 m
|
15
RexG 2021-07-13 14:45:02 +08:00
|
16
xuanzizhe 2021-07-14 15:28:21 +08:00
如果是想判断正则表达式字面量是不是个合规的正则表达式,可以简单的验证一下:
```javascript const isRegExp = (rule) => { if(/^\/.+?\/[imdsguy]*$/.test(rule)){ try{ return new Function('', `var __rule__ = ${rule}; return __rule__ instanceof RegExp;`)(); }catch(_e){ return false; } } return false; }; console.log(isRegExp('/a/b')); // false console.log(isRegExp('/a/i')); // true console.log(isRegExp('/a/ii')); // false console.log(isRegExp('/[a-z]/i')); // true console.log(isRegExp('/[z-a]/i')); // false ``` 正常的逻辑判断基本够用了,但上面的还是阻止不了一些特意规避的写法,比如像下面这样写: ```javascript console.log(isRegExp('/a/;/b/')); // true, 考虑到斜杠 /在字符 sets([/])里是不需要转义的,所以也不能简单的判断 /是否前面有反斜杠\ ``` 要想完整的判断只能解析正则表达式的语法,但语法层面你还得考虑到浏览器对正则表达式的支持程度,比如是否要支持命名分组、\p unicode category 、负向前瞻等等,要做到完善还是需要考虑很多细节的。 |
17
happyCodings OP @en20 正解 已经弄好了 全部放到 vue 自定义指令里 谢谢
|
18
happyCodings OP 应该是我没有描述清晰-想做的是想要用一些方法 把所有正则封装到一起,然后需要使用的时候所有项目都可以直接调用
已经做好了,用 vue 自定义指令,yyds |
19
fumichael 2021-08-05 18:06:00 +08:00
搜一下 async-validate
|