需求:1.最大:1000.00 ;
2.
最小:0.01;
3.精确到小数点后2位;
4.打赏时自定义金额输入后不缓存,下次打开打赏窗口需要从新输入;
5.打赏金额超过最大金额或者输入错误时(精度超过0.01,金额无效0.00),点击打赏时返回金额未输入状态;
6.打赏金额输入位数限制:最长输入4位数,小数点后最多2位。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="jquery.2.js"></script>
</head>
<body>
<input type="text" placeholder="最多不超过1000元" id="haha"/>
<input type="button" value="打赏" id="dashang"/>
<script>
var thisValue = "";
//不带小数的正则匹配
var regexp1 = /^([0-9]|[1-9]\d|[1-9]\d\d|1000)\.?$/;
//带小数的正则匹配
var regexp2 = /^([0-9]|[1-9]\d|[1-9]\d\d|1000)\.\d{1,2}$/;
$("#haha").on("keyup", function () {
if (regexp1.test($(this).val()) || regexp2.test($(this).val())||$(this).val()=="") {
thisValue = $(this).val();
if(parseFloat($("#haha").val())>1000){
$("#haha").val("1000.00");
}
}
else {
$(this).val(thisValue);
if(parseFloat($("#haha").val())>1000){
$("#haha").val("1000.00");
}
}
});
$("#dashang").on("click", function () {
if (parseFloat($("#haha").val()) == 0) {
alert("没钱不能打赏哦");
$("#haha").val("");
return false;
}
else if (isNaN(parseFloat($("#haha").val()))) {
alert("请输入打赏金额");
}
else {
alert("打赏成功");
}
});
</script>
</body>
</html>
小数点超出两位的话第三位会被截断,四位数字除了1000其他最大只能输入3位。