首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用regex不允许10位后的小数点。

使用regex不允许10位后的小数点。
EN

Stack Overflow用户
提问于 2018-03-29 06:37:47
回答 2查看 419关注 0票数 2

我希望使用regex表达式只允许文本框中的数字。

  • 最多允许10位数。
  • 小数点后最大2位数。
  • 10位后的小数点是不允许的。

有效表达式:

代码语言:javascript
复制
999999999.22
1234567890
123447899.1

无效表达式:

代码语言:javascript
复制
99999999999
9999999999.12
9999999999.1
99999999999.12
99999999999.1

我尝试了下面的正则表达式,它做了我想要的所有事情:它允许小数点在10位之后,这是我不想要的。小数点应在最多9位后才有效。

代码语言:javascript
复制
^[0-9]\\d{0,9}(\\.\\d{1,2})?%?$
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-29 06:50:36

您可以将正则表达式分为三部分:1至10位数、1至9位数、1位小数、1至8位数和2个小数:

代码语言:javascript
复制
^\d{1,10}$|^\d{1,8}\.\d{2}$|^\d{1,9}\.\d$

(证明)

票数 2
EN

Stack Overflow用户

发布于 2018-03-29 07:32:31

使用交替,您可以匹配1-9位后接1或2位小数或1- 10位数字。

^(?:\d{1,9}\.\d{1,2}|\d{1,10})$

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49549518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档