jquery验证号码不工作

时间:2013-12-17 14:29:35

标签: jquery validation

我正在尝试验证数字,但此代码无效。 当我输入像(a,b,c)这样的字符时,不显示错误,如果只是一个数字,我想传递。

$(function () {
    $(".checkNumber").click(function () {
        var number = $("#number").val();
        if (number.length < 1 && !$.isNumeric(number)) {
            // show errors 
            ;
        }
    });
});

3 个答案:

答案 0 :(得分:1)

您可以只测试来自$.isNumeric()的结果。

该方法处理传递的任何类型的参数,甚至是空,null等。

$(function () {
    $(".checkNumber").click(function () {
        if (!$.isNumeric($("#number").val())) {
            // Show error
        }
    });
});

来源:http://api.jquery.com/jQuery.isNumeric/

答案 1 :(得分:0)

jsFiddle:http://jsfiddle.net/E9sFU/

HTML

<input type="text" id="quty1" />
<div class="errorMsg"></div>

$('#quty1').keypress(function (e) {
    //if the letter is not digit then display error and don't type anything
    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
        //display error messag
        $(".errorMsg").html("Only numbers are allowed.");
        return false;
    } else {
        $(".errorMsg").html("");
    }
});

答案 2 :(得分:-1)

更改&amp;&amp;与||并将值转换为整数或浮点数以进行比较。

$(function () {
    $(".checkNumber").click(function () {
        var number = $("#number").val();
        if (!$.isNumeric(number) || parseInt(number) < 1) { // or cast to float with parseFloat(number)
            // show errors
        }
    });
});