簡體   English   中英

正則表達式,JavaScript中輸入字符串中包含可選元素

[英]Regular Expression with optional elements in input string in javascript

任何人都可以給我貨幣的正則表達式,其格式如下:

1000 - valid
1,000 - valid
1,000.00 or 1000.00 - valid.

這意味着數字“ 可能”或“可能不”每三位數包含一個逗號分隔符。

該數字可能不包含點(。),並且如果它帶有點(。),則應在小數點后顯示至少1個數字。

最后,它只能是數字字符。 如果我需要澄清我的問題,請提出。

/^\d{1,3}(?:(?:,\d{3})*|(?:\d{3})*)(?:\.\d{1,2})?$/

“在一位數字和三位數字之間,然后是任意數量的以逗號為前綴的三位數的組, 或者是任意數量的沒有以逗號為前綴的三位數的組(不允許這兩種組的混合),然后是一個可選的一組或以小數點開頭的兩位數字。”

注意:此正則表達式假定您要根據問題中概述的條件來驗證整個字符串。 如果要使用它在較長的字符串中查找此類數字,則需要從表達式的開頭和結尾刪除^$

像這樣的東西應該起作用: (,?\\d{3})+(\\.\\d{2})? 正則表達式將嘗試匹配一個3位數的序列,其后是一個可選的逗號,然后是逗號,最后是一個可選的小數點和2位數字。

請參考教程以獲取更多信息。

編輯:根據下面的評論,上述正則表達式可能會失敗。 我建議首先使用以下正則表達式: ^[\\d][\\d.,]+$ ,以確保您只有數字,千位和十進制分隔符。 此正則表達式還將確保數字以數字開頭,而不以其他任何內容開頭。 您很可能擁有一個可以執行所有操作的正則表達式,但是它很可能非常復雜。

暫無
暫無

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

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