如果在句点(.)之前未指定数字,则为Javascript正则表达式
我尝试了以下表达式,该表达式只允许2位小数:如果在句点(.)之前未指定数字,则为Javascript正则表达式,javascript,regex,Javascript,Regex,我尝试了以下表达式,该表达式只允许2位小数: /^[0-9]+(\.[0-9]{1,2})?$/ 但它没有考虑像“.34”或“.5”这样的值,因为在周期之前没有任何数字。 如何更新表达式,以便在句点之前未指定任何内容时,表达式应在句点之前采用数字“0”。 so.34=>0.34,带有效的2位小数表达式。使用*代替+ ^[0-9]*(\.[0-9]{1,2})?$ +:匹配前面的一个或多个标记 *:匹配前面的0个或多个标记。使用*而不是+ ^[0-9]*(\.[0-9]{1,2})?$ +:
/^[0-9]+(\.[0-9]{1,2})?$/
但它没有考虑像“.34”或“.5”这样的值,因为在周期之前没有任何数字。
如何更新表达式,以便在句点之前未指定任何内容时,表达式应在句点之前采用数字“0”。
so.34=>0.34,带有效的2位小数表达式。使用*代替+
^[0-9]*(\.[0-9]{1,2})?$
+:匹配前面的一个或多个标记
*:匹配前面的0个或多个标记。使用*而不是+
^[0-9]*(\.[0-9]{1,2})?$
+:匹配前面的一个或多个标记
*:匹配前面的0个或多个标记。您可以使用此正则表达式:
/^\d*\.?\d{1,2}$/
如果要将十进制数的格式设置为最多2个小数点,请使用
toFixed
:
var n = ".34";
var str = parseFloat(n).toFixed(2) // will do rounding as well
//=> 0.34
您可以使用此正则表达式:
/^\d*\.?\d{1,2}$/
如果要将十进制数的格式设置为最多2个小数点,请使用
toFixed
:
var n = ".34";
var str = parseFloat(n).toFixed(2) // will do rounding as well
//=> 0.34
是否只想匹配
.05
或添加一个零(如果没有)?如果在时段之前没有,则添加一个零。是否只想匹配.05
或添加一个零(如果没有)?如果在时段之前没有,则添加一个零。这将允许空输入alsois true,可选项应在DOTS中。这将允许空输入alsois true,可选的应该在DotThank for optimized solution(谢谢优化的解决方案)中。谢谢优化的解决方案。