数字输入的jquery验证?

时间:2015-03-18 15:15:50

标签: jquery validation phone-number

我对长度验证有以下内容,但我如何仅对数字进行验证?

    function cmdvalidate() {
        if (len($('#txtReqAreaCode').val()) < 3) {
            alert("Please check the requester's phone number.  It must be 10 digits.");
            $('#txtReqAreaCode').focus();
            return false;
        } else if (len($('#txtRequestorPhone').val()) < 3) {
            alert("Please check the requester's phone number.  It must be 10 digits.");
            $('#txtRequestorPhone').focus();
            return false;
        } else if (len($('#txtRequestorPhonePt2').val()) < 4) {
            alert("Please check the requester's phone number.  It must be 10 digits.");
            $('#txtRequestorPhonePt2').focus();
            return false;

2 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点(RegExp,parseInt比较......),但是当你使用jQuery时,只需使用jQuery's isNumeric函数。

答案 1 :(得分:0)

首先,您在代码中使用了大量不必要的重复。

  alert("Please check the requester's phone number.  It must be 10 digits.");
        $('#txtRequestorPhonePt2').focus();
        return false;

显示三次。尝试将phone_lengthphone_string存储在变量

var phone_length = $('#txtReqAreaCode').text().length + 
$('#txtRequestorPhone').text().length + $('#txtRequestorPhonePt2').text.length()

var phone_string = $('#txtReqAreaCode').val() + $('#txtRequestorPhone`).val() + 
$('txtRequestorPhonePt2').val();

然后,你的主要功能应该是

if (phone_length < 10 && phone_string.search(/\D/) !== -1)  {
    alert("Please check the requester's phone number.  It must be 10 digits.");
    $('#txtRequestorPhonePt2').focus();
    return false;
}

JavaScript string#search方法在字符串中搜索特定模式。在这种情况下,我使用了 /\D/正则表达式符号,用于查找不是数字​​的任何内容。

搜索功能返回匹配字符的索引。如果找不到,则会返回-1