检查字段是否至少包含多个数字

时间:2013-08-09 11:23:26

标签: javascript forms validation error-handling

目前我正在使用以下脚本来检查我的字段是否为空。对我来说这个脚本工作得很好,我想要添加到脚本中的唯一一件事是检查字段中是否还需要至少10位数(数字),否则只显示脚本中的错误消息。我希望有人可以帮我找出需要添加到下面代码中的内容

function checkforblank() {

var errormessage = "";

    if (document.getElementById('telefoonnummer').value == "") {
    errormessage += "your 10 digits phone number is missing " ;
    document.getElementById('telefoonnummer').style.bordercolor = "red";
    }


if (errormessage != "") {
    $(".error-messages").text(errormessage).fadeIn();
    return false;
}

    }

3 个答案:

答案 0 :(得分:3)

删除所有非数字并取长度

'a0b123c456v789---'
    .replace(/[^\d]/g, '') // "0123456789"
    .length;               // 10

答案 1 :(得分:1)

如果您只需要提交一个普通长度检查并且该字段只能有数字,您可以使用以下内容来检查长度。

function checkforblank() {

    var errormessage = "";
    var inputVal = document.getElementById('telefoonnummer').value;
    if (inputVal == "") {
        errormessage += "your 10 digits phone number is missing " ;
        document.getElementById('telefoonnummer').style.bordercolor = "red";
    } 
    else if (inputVal != "" && inputVal.length !== 10) {
        console.log("error");
        //set your error message here
    } 
    else {
        console.log("success");
    }

    if (errormessage != "") {
        $(".error-messages").text(errormessage).fadeIn();
        return false;
    }

}

更新:根据OP反馈修改版本 - fiddle

答案 2 :(得分:0)

    //this is to check weather it is a number or not------
    function checkNumber(event,val){//use this function at keyup event of your field
    if(val.length <= 10) //check wether it is 10 digit or not
    {   
    if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || 
                     // Allow: Ctrl+A
                    (event.keyCode == 65 && event.ctrlKey === true) || 
                     // Allow: home, end, left, right
                    (event.keyCode >= 35 && event.keyCode <= 39)) {
                         // let it happen, don't do anything
                         return;
                }
                else {
                    // Ensure that it is a number and stop the keypress
                    if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
                        event.preventDefault(); 
         }

                       }   
                    }
            }

将代码与您的文本字段一起使用,如下所示

<input type="text" id="phone" onkeyup = "checkNumber(event,this.value);" />