簡體   English   中英

RegEx貨幣(JavaScript)

[英]RegEx for currency (JavaScript)

我是正則表達式的新手,我想用javascript驗證用戶輸入。

用戶輸入是一種貨幣,但我希望它沒有數千個逗號。

有效

"12.34"
"12,34"
"1234,5"
"123"
"123,00"
"12000"

無效

"12a34"
"abc"
"12.000,00"
"12,000.00"

我嘗試了以下正則表達式模式,但它對我不起作用。 它驗證例如“12a34”,我不知道為什么。

/\d+([\.|\,]\d+)?/

什么是正確的正則表達式模式? 你能一步一步地解釋一下嗎?

謝謝 !

別逃避了. 而在一個角色組。 嘗試使用以下正則表達式:

/^\d+([.,]\d{1,2})?$/

^   = start of string
$   = end of string
()? = an optional capturegroup ( e.g. to validate "123")
{x,y} = The symbol may occur minimum x and maximum y times
RegExp: /^(?!\(.*[^)]$|[^(].*\)$)\(?\$?(0|[1-9]\d{0,2}(,?\d{3})?)(\.\d\d?)?\)?$/g
pattern: ^(?!\(.*[^)]$|[^(].*\)$)\(?\$?(0|[1-9]\d{0,2}(,?\d{3})?)(\.\d\d?)?\)?$
flags: g
3 capturing groups: 
   group 1: (0|[1-9]\d{0,2}(,?\d{3})?)
   group 2: (,?\d{3})
   group 3: (\.\d\d?)

正則表達式測試

暫無
暫無

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

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