繁体   English   中英

关于数字的JavaScript正则表达式

[英]JavaScript Regular Expression About Numbers

我有一个输入文本,这是一个只允许小数长度为3的数字文本但不要求是十进制数字,点和十进制数字不需要在那里,至少是一个整数

文本

至少1个整数

最大整数数字长度为2

至少1个十进制数

最大十进制数长度为3

接受的方案

“1”

“11.1”

“11.11”

“11.111”

我是正则表达式的新手,这是我能得到的

/\d{1,2}\.{0,1}\d{0,3}/;
\d{2}d{3}\

恰好匹配两个数字后跟正好三个次要d ...最后的反斜杠可能导致模式编译错误或请求反斜杠继续这些序列的d。

\d{1,2}

匹配一个两个十进制数字(0-9)。

\d{1,3}

匹配一个,两个或三个十进制数字。

如果需要匹配两个不同的序列,则需要使用|组合它们 之间:

\d{1,2}|\d{1,3}

然而,这没有多大意义,因为后者包括前者。

\d{1,2}\.\d{1,3}

匹配两位数,后续一位乘以一到三位数。 但是如果句点及其后续数字作为一个整体是可选的,则需要先将其分组,然后才能将该组声明为可选:

\d{1,2}(\.\d{1,3})

正在对后一部分进行分组

\d{1,2}(\.\d{1,3})?

终于宣布该组是可选的。

如果要在字符串中匹配所有内容,则需要将其包装在锚点中以匹配生成的字符串的开头和结尾

^\d{1,2}(\.\d{1,3})?$

如果我理解正确的话你可以这样做:

^\\d{1,2}(\\.\\d{1,3})?$

DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM