文本框输入验证

时间:2013-06-03 07:03:31

标签: jquery validation input textbox

我有以下jQuery代码,它允许我只在文本框中输入数字:

$('.numbersOnly').keyup(function () {
    if (this.value != this.value.replace(/[^0-9\.]/g, '')) {
    this.value = this.value.replace(/[^0-9\.]/g, '');
}
});

我希望为此添加一些额外的验证,以允许范围为0到10和三个小数位。这是我应该使用的代码的正确形式吗?

$('.numbersOnly').keyup(function () {
    if (this.value != this.value.replace(/[^([0-9]|1[0])\.(0[0-9][0-9]|1[0][0])$]/g, '')) {
    this.value = this.value.replace(/[^0-9\.]/g, '');
}
});

1 个答案:

答案 0 :(得分:2)

您问题中的正则表达式无效。请求的模式比“数字”更复杂。而不是使用

检查匹配模式
if (this.value != this.value.replace(...

我建议使用匹配的

if ("" != this.value.replace(...

符合您的需求:([0-9]|10)(\.[0-9][0-9][0-9])?

注意:最后一行中的替换不一定能解决问题,就像在第一个示例中一样。