[英]Javascript regex currency
我正在嘗試創建一個滿足以下條件的正則表達式:
我做了以下但它沒有按預期工作
^[0\.|1-9\d*\.]\d{2,2}$/
使用https://regexr.com/進行測試
我會使用這個正則表達式:
^(?!0\d)\d+\.\d{2}$
這在開始時使用負前瞻來處理貨幣值不能從零開始的要求,如果緊隨其后的是另一個數字。
這是執行此操作的另一種方法:
^(?:0|[1-9]\d*)\.\d{2}$
這表示匹配一個零,后面沒有小數點,或者 1-9 如果后面的也是小數點之前的另一個數字。
Tim Biegeleisen 比我快了幾分鍾,但這是另一個(不太復雜的)解決方案:
(^[0]|^[1-9]+)\.\d{2}$
https://regex101.com/r/QJ3YyQ/2
編輯:我剛剛意識到我錯過了一個邊緣情況。 如果小數點前的數字包含零,則不匹配。 這是一個更新的正則表達式:
(^[0]|^[1-9]\d*)\.\d{2}$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.