正则表达式怎么写??

发布于 2022-09-11 15:49:21 字数 331 浏览 12 评论 0

问题描述

验证输入的数据,只能输入0-1间的数据,0不可以输入,1可以输入,且只能有2位小数的正则表达式怎么写?
0.0和0.00也不让通过验证,而1.0和1.00可以通过验证

写好后建议测试以下数据:
0 0.0 0.00 1 1.0 1.00 0.3 0.34

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

/^(0\.[0-9]{1,2}|1)$/  这个该怎么改呢??

你期待的结果是什么?实际看到的错误信息又是什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

≈。彩虹 2022-09-18 15:49:21
/^(0\.[1-9][0-9]?|0\.0[1-9]|1)$/

不知可否满足, xxx.test(Num), Num最好用字符串形式。

牛↙奶布丁 2022-09-18 15:49:21

既然是验证数据的话,这个正则当然是可以写出来的,但是如果要同时兼顾数据的匹配格式和边界条件的话,其实写出来效率很低的。

你这个需求其实可以划分为三个小部分:

  • 首先要排除 0、0.0,0.00 这种无意义的数字
  • 要满足 0.xx 小数的格式
  • 要能够输入 1

关于第二条,使用正则来写就可以了,比如 ^0\.[1-9]+$,之后对于另外两个条件,通过 parseFloat 与 10 分别比较即可提前得出验证结果,其实没必要把这两个也写到正则里。

疧_╮線 2022-09-18 15:49:21

/^(0.([1-9]{1}[0-9]{0,1}|[0-9]{1}[1-9]{1})|1)$/
正则我也不熟,现学现用,可以看下这篇文章

醉生梦死 2022-09-18 15:49:21

我这边亲测有效哦~

var regx = /^(0(?!\.00)|1(?=\.00))\.[0-9]{1,2}$/
regx.test('0.00')//false
regx.test('1.00')//true
regx.test('0.11')//true

升级版本 哈哈 题主再试试 我试都ok啦 刚没看清题目

/(^((0(?!\.00|\.0)|1(?=\.00))\.[0-9]{0,2})$)|(^1$)|(^0\.0[1-9]{1}$)|(^1\.0$)/
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文