如果在句点(。)之前没有指定数字,则为Javascript正则表达式

时间:2017-02-06 18:52:38

标签: javascript regex

我尝试过以下表达式,它只能使用2位小数:

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

但它没有考虑像“.34”或“.5”之类的值,因为在此期间之前没有任何数字。 我如何更新我的表达式,如果在句点之前没有指定任何内容,它应该在句点之前取数字“0”。 所以.34 => 0.34,有效的2位小数表达式。

2 个答案:

答案 0 :(得分:2)

使用*而不是+

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

+:匹配前面标记中的一个或多个。

*:匹配前面标记的0或更多。

答案 1 :(得分:2)

您可以使用此正则表达式:

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

RegEx Demo

如果要格式化最多2位小数的十进制数,请使用toFixed

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