[英]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.