Skip to main content

记录一次正则使用变量

一次动态表单验证,并且验证的规则不是规定的,而已根据某种特定的情况变化,因此需要使用正则变量的规则去完成。

记录一次正则使用变量

背景#

最开始写了单个判断小数点后几位的正则,由于多处地方公用,希望能封装起来通用,但是正则判断小数的值是写死的,所以想写成变量的形式,根据传递的值来判断小数位后几位。

操作#

正则表达式校验小数点后几位:

const validatorPrecision = (value: number) => {  const reg = /^(\d+)(.\d{0,4})?$/;
  if (!reg.test(value + "") || value <= 0) {    return Promise.reject(new Error(t("xxxx")));  } else {    return Promise.resolve(new Error());  }};

上面代码正则是使用字面量形式去创建的,如果使用正则表达式里面使用变量那么需要使用函数创建的方式就是 new Regexp

const precision = 4;const reg = new RegExp("^(\\d+)(.\\d{0," + precision + "})?$");