我有一个基本输入字段,其中要填写金额。 该字段的格式为文本,因为它还必须与较旧的浏览器版本一起使用。
有没有办法可以使用jQuery和/或Regex将固定小数(2)设置为该字段中的任何数字?
我尝试了以下内容,但这并没有改变任何事情:
<input type="text" class="span6" id="amount" maxlength="12" name="amount" />
$('#amount').on('blur', function() {
var amount = $('#amount').val().replace(/^\s+|\s+$/g, '');
if( ($('#amount').val() != '') && (!amount.match(/^\d+$/) ) {
$('#amount').val( amount.toFixed(2) );
}
});
我正在寻找的是一种向输入值添加两位小数的方法,如果没有,输入是一个数字。
示例:
非常感谢你提供任何帮助,蒂姆。
答案 0 :(得分:3)
我创造了一个小提琴,请检查Fiddle
在使用toFixed
之前将amount
转换为整数parseInt(amount)
。
修改强>
<强>代码强>
$('#amount').on('blur', function() {
var amount = $('#amount').val().replace(/^\s+|\s+$/g, '');
if( ($('#amount').val() != '') && (!amount.match(/^$/) )){
$('#amount').val( parseInt(amount).toFixed(2));
}
});