簡體   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