簡體   English   中英

JavaScript正則表達式,如果在句點(。)之前未指定數字

[英]Javascript regular expression if no digit specified before the period (.)

我嘗試了以下表達式,該表達式可以很好地只允許2個小數位:

/^[0-9]+(\.[0-9]{1,2})?$/

但它沒有考慮“ .34”或“ .5”之類的值,因為句點前沒有任何數字。 我如何更新表達式,以便如果在句點之前未指定任何內容,則句點前應使用數字“ 0”。 因此.34 => 0.34,帶有有效的2個小數位表達式。

使用*代替+

^[0-9]*(\.[0-9]{1,2})?$

+:匹配1個或多個前面的令牌。

*:匹配0個或多個前面的令牌。

您可以使用此正則表達式:

/^\d*\.?\d{1,2}$/

正則演示


如果要格式化不超過2個小數點的十進制數字,請使用toFixed

var n = ".34";
var str = parseFloat(n).toFixed(2) // will do rounding as well
//=> 0.34

暫無
暫無

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

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