【发布时间】:2009-01-22 10:46:59
【问题描述】:
我对文本框进行了一些客户端验证,该文本框只允许最多两位小数的数字而没有其他输入。
此脚本仅用于输入数值,但需要对其进行调整,以便它可以带一个小数点,后跟最多两位小数。
我尝试了诸如/[^\d].\d{0,2} 之类的方法,但是替换调用不起作用,我不知道该怎么做。
代码
<script type="text/JavaScript">
function valid(f) {
if (!/^\d*$/.test(f.value)) {
f.value = f.value.replace(/[^\d]/g,"");
alert("Invalid number");
}
}
</script>
注意
我需要匹配一个空字符串。如果提供了一个空字符串并提交了表单,则该值默认为零。
【问题讨论】:
-
您真的要强制用户只能输入小数点右边的两位数,还是仅验证它是一个数字并四舍五入到小数点后两位?
-
如果出现精度损失,用户知道这一点非常重要。不幸的是,这些数字通常非常重要。
-
小数点与小数点不一样位!
标签: javascript regex