我想要一个文本框的正则表达式,它只允许 3 位数字并通过以下条件:
- 只有数字(234 或 123)或
- 最后只有一位小数 (55.1)
- 不应允许空格
- 如果使用小数,那么小数点之后/之前也应该有一个数字(不允许使用 555. 或 12. 或 .12)
我有以下部分工作的RE:
/^\d{0,3}$|^\d{0,2}[\.]\d{1}$/
修改这个有什么帮助吗?
看起来问题是额外的:
我在按键时使用代码。因此它会在按键时验证每个按下的值。
if (window.event) {
knum = e.keyCode;
}
else if (e.which) {
knum = e.which;
}
kchar = String.fromCharCode(knum);
numcheck = /^\d{0,3}$|^\d{0,2}[\.]\d{1}$/;
alert(numcheck.test(kchar));
对于任何十进制按键,它都会返回 false。即使我输入 55,然后尝试中间的小数使其变为 5.5,ite 返回 false。