jquery数字验证不起作用

时间:2014-02-19 10:15:26

标签: javascript jquery validation

我使用以下函数进行数字验证,不允许特殊字符和字母表,工作正常。如果我将值复制并粘贴到文本框,则表示缺少值。

例如,我复制值 12-3456-789 并粘贴到验证文本框中,仅粘贴 1234567 而不是123456789

$( "input[type=text]" ).on("keyup", function() {
  var o=$(this);
  o.val(o.val().replace(/[^\d]/g,""));
});

4 个答案:

答案 0 :(得分:0)

似乎工作,我也尝试复制粘贴你的测试字符串。 Fiddle

可能您的错误存在于HTML代码中!

HTML:

<input type="text" />

JS:

$( "input[type=text]" ).on("keyup", function() {
  var o=$(this);
  o.val(o.val().replace(/[^\d]/g,""));
});

答案 1 :(得分:0)

您的代码应该有效。正如@Kemal Fadillah建议的那样,如果您在输入中将maxlength属性设置为9,那么它将不起作用

<input type="text" maxlength="9" />

<强> Working Demo

答案 2 :(得分:0)

check the Demo show you can remove maxlength on your input text feald

才能正常工作

答案 3 :(得分:0)

Here is a example that works for both paste and keyup

Demo Fiddle

$("[id$=textTest]").bind("focusout", function (e) {
    $("[id$=textTest]").val($("[id$=textTest]").val().replace(/[^0-9]+/g, ""));
});

$("[id$=textTest]").bind("keyup", function (e) {
    $("[id$=textTest]").val($("[id$=textTest]").val().replace(/[^0-9]+/g, ""));
});