簡體   English   中英

正則表達式檢查帶小數位的數字

[英]Regex check for digits with decimal place

我有一個正則表達式來檢查輸入的價格。 價格不能為5位數字或更高,但可以包含選項十進制數字。 所以-

  • 1000 =允許
  • 9999.99 =允許
  • 10000 =不允許
  • 100.000 =不允許

到目前為止,這就是我正在正確檢查的小數位數,但沒有檢查小數點前的位數。 我究竟做錯了什么?

var reg = new RegExp("^(\d{0,4})+(\.[0-9]{2})?$");

你有一個錯誤的量詞

var reg = new RegExp("^(\d{0,4})(\.[0-9]{2})?$");

只需刪除+ ,您的正則表達式就可以了。

在Regexr上查看

使用此(\\d{0,4})+您將重復第一組,因此您可以匹配點前的任何數字。

如果我兩次轉義,您的jsfiddle會為我工作

var reg = new RegExp("^\\d{0,4}(?:\\.\\d{2})?$");

或不要將您的正則表達式放在字符串中

var reg = new RegExp(/^(\d{0,4})(\.[0-9]{2})?$/);

暫無
暫無

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

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