admin管理员组

文章数量:1122870

正则,Yup 匹配数量,金额,name..

文章目录

          • 产品数量: `^[1-9]*[1-9][0-9]*$`
          • 产品价格:
          • 小数点后最多两位

产品数量: ^[1-9]*[1-9][0-9]*$
产品价格:

(^[1-9][0-9]*$)|(^0.[0-9]+$)|(^[1-9][0-9]*.[0-9]+$)

小数点后最多两位

/^\d+(\.(\d){1,2})?$/
\d+ 表示 以一个或多个数字开头 确保不出现 .1
(\.(\d){1,2})? 表示 有0个或者1个 \.(\d){1,2}部分出现 这部分作用是 一个 小数点在前面 一个或者2个数字再其后 确保不出现 0.即小数点后面必须有一个或两个数字 并且 如果没有\.(\d){1,2}出现则是一个整数

^(?![0].[0-3]).*$不得小于0.4
名字:英文中间结尾可以有空格:/^[\u4E00-\u9FA5A-Za-z0-9_]+([\s*]|[\u4E00-\u9FA5A-Za-z0-9_])+$/

使用yup

const ValidationSchema = Yup.object().shape({name: Yup.string().required("Required"),description: Yup.string().min(10, "Minimum length of 10").required("Required"),price: Yup.string().matches("^(?![0].[0-3]).*$", "Minimum 0.4").matches("^(\\d*)(\\.(\\d){0,2})?$", "Invalid price").required("Required"),// price: Yup.number().test("is-decimal", "invalid decimal", value =>//   (value + "").match(/^\d*(\.\d{0,2})?$/, "22")// ),quantity: Yup.string().matches("^[0-9]*$", "Invalid quantity").required("Required"),
});

参考

本文标签: 正则Yup 匹配数量,金额,name