[英]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.