[英]Regular expression to validate minimum value of formatted currency in asp.net data annotation
[英]Regular expression to validate money with minimum value
我正在使用下面的正則表達式來驗證可以正常工作的錢。
^\d{1,3}(,\d{3})*$
現在我想添加最低金額也像最低金額應該是20,000
任何人都可以幫助我。
用正確的表達方式更新了小提琴
閱讀評論,我不確定正則表達式是否會成為您前進的方向,但您似乎很堅定。 您似乎正在尋找一個逗號分隔的字符串,該字符串需要從 20,000 開始,其中數字的每一秒部分都是 3 位數長。 我想出了:
^(?:[2-9]\d|[1-9]\d\d|[1-9],\d{3})(?:,\d{3})+$
查看在線演示
^
- 開始字符串 ancor。(?:
- 打開第一個非捕獲組。
[2-9]\d
- 2-9 范圍內的數字,后跟任意數字。|
- 或者。[1-9]\d\d
- 1-9 范圍內的數字,后跟任意兩位數字。|
- 或者。[1-9],\d{3}
- 1-9 范圍內的數字,后跟逗號和任意三位數字。)
- 關閉第一個非捕獲組。(?:
- 打開第二個非捕獲組。
,\d{3}
- 逗號后跟任意三位數字。)+
- 關閉第二個非捕獲組並至少重復一次。$
- 結束字符串 ancor。作為替代方案,您還可以使用前瞻,例如:
^(?=.{6,})(?!1.{5}$)[1-9]\d?\d?(?:,\d{3})+$
查看在線演示
^
- 開始字符串 ancor。(?=.{6,}
- 6 個或更多字符的正向前瞻。(?.1.{5}$)
- 1 的負前瞻,后跟 5 個字符,直到結束字符串。[1-9]\d?\d?
- 一個 1-9 范圍內的數字,后跟兩個可選數字(您也可以寫成[1-9]\d{0,2}
)。(?:
- 打開第二個非捕獲組。
,\d{3}
- 逗號后跟任意三位數字。)+
- 關閉非捕獲組並至少重復一次。$
- 結束字符串 ancor。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.