//需要自行引入jquery 样式比较简单 注重功能
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script src="jquery-1.12.2.min.js" type="text/javascript"></script>
</head>
<body>
<div>
<input type="text" id="input_recharge_value" class="input_recharge_value" [(ngModel)]="number" name="input_recharge_values" style="border: 2px solid rgb(56,93,138); height: 35px;width: 200px;">
<div style="top:100px; left:20px;" class="capital_fund_P_two"><span style="font-size: 20px;">金额: </span><span style="color: red;font-size: 22px;" class="recharge_value">0.00</span><span style="font-size: 20px; color: red;">元</span></div>
</div>
</body>
<script>
$('.input_recharge_value').on('input', function () {
var value =null;
var obj = $(this).val();
if (obj[0] == '0' && obj[1] == '0') {
value = obj.replace(/^[0]\d$/, '0');//开头不能输入两个0
} else {
// value = $(this).val().match(/\d+(\.\d{0,2})?/) ? $(this).val().match(/\d+(\.\d{0,2})?/)[0] : '';
//修改input框中金额中添加字母 处理方法
value = obj.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".").replace(/[^\d.]/g, "").replace(/^\./g, "").replace(/\.{2,}/g, ".").replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
}
if (parseFloat(value)) {
$('.recharge_value').html(parseFloat(value).toFixed(2));
} else {
$('.recharge_value').html('0.00');
}
});
$('#input_recharge_value').keyup(function (e) {
var obj = $(this).val();
var value = null;
value = obj.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".").replace(/[^\d.]/g, "").replace(/^\./g, "").replace(/\.{2,}/g, ".").replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
$(this).val(value);
if (obj[0] == '0') {
if (obj[1] == '.') {
value1 = obj.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能输入两个小数
$(this).val(value);
} else {
value = obj.replace(/^[0]\d$/, '0');//开头不能输入两个0
if (value[1] == '0') {
$(this).val('0');
} else {
$(this).val(value);
}
}
}
});
</script>
</html>
存在不完善的地方,多多指教(待续。。。。)