簡體   English   中英

正則表達式用可選的小數部分驗證逗號分隔的數字

[英]Regex to validate comma-separated numbers with optional fractional parts

使用 JavaScript,我只需要接受數字和逗號。

我使用的正則表達式模式如下

 var pattern = /^[-+]?[0-9]+(\.[0-9]+)?$/;

我如何接受上述模式中的逗號,以便32003,2003,200.00等值有效?

有類似的問題只部分解決了這個問題:

使用以下正則表達式:

^[-+]?(?:[0-9]+,)*[0-9]+(?:\.[0-9]+)?$

正則表達式演示

這里的基本變化是添加了(?:[0-9]+,)*匹配的子模式:

  • [0-9]+ - 1 位或更多位
  • , - 逗號

0 次或多次(感謝*量詞)。

我還使用了非捕獲組,以便正則表達式輸出“更干凈”。

如果您需要檢查號碼中的 3 位組,請使用

^[-+]?[0-9]+(?:,[0-9]{3})*(?:\.[0-9]+)?$

另一個演示

這里, (?:,[0-9]{3})*匹配 0 個或多個逗號序列和 3 位子字符串 ( [0-9]{3} )。 {3}是一個限制量詞,正好匹配前面子模式的 3 次出現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM