簡體   English   中英

正則表達式以最小值驗證貨幣

[英]Regular expression to validate money with minimum value

我正在使用下面的正則表達式來驗證可以正常工作的錢。

^\d{1,3}(,\d{3})*$

現在我想添加最低金額也像最低金額應該是20,000任何人都可以幫助我。

小提琴: https://regexr.com/5h5bf

用正確的表達方式更新了小提琴

閱讀評論,我不確定正則表達式是否會成為您前進的方向,但您似乎很堅定。 您似乎正在尋找一個逗號分隔的字符串,該字符串需要從 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.

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