You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Yup实现X.X格式字符串验证(X为0-9数字)

解决Yup验证“X.X”格式字符串的问题

直接修改matches方法的正则表达式就能实现精准验证,替换成严格匹配数字.数字格式的规则即可:

myString: Yup.string()
  .matches(/^\d\.\d$/, '格式必须为 X.X,其中X是0-9的数字')
  .nullable(),

正则说明:

  • ^ 标记字符串的起始位置
  • \d 匹配0-9之间的任意单个数字(和[0-9]效果一致)
  • \. 匹配点号(点在正则中是通配符,必须加反斜杠转义才能匹配实际的点)
  • $ 标记字符串的结束位置

这个正则会直接限定字符串长度为3,且严格符合第一位、第三位是数字,中间是点的要求,不需要额外的min(3)和max(3)验证(当然保留也不会冲突,不过正则已经完全覆盖了长度和格式要求)。

你之前的验证规则里,matches(/^[0-9]+$/)是要求字符串全为数字,这和你需要的包含点号的格式冲突,所以才会出现验证不精准的问题。

内容的提问来源于stack exchange,提问作者Cucumberbatch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:07:22