1

目前我正在使用以下脚本来检查我的字段是否为空。对我来说,这个脚本很好用,我唯一想添加到脚本中的是检查该字段是否也需要至少 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;
}

    }
4

3 回答 3

3

删除所有非数字并取长度

'a0b123c456v789---'
    .replace(/[^\d]/g, '') // "0123456789"
    .length;               // 10
于 2013-08-09T11:26:55.407 回答
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 反馈的修订版 -小提琴

于 2013-08-09T11:37:49.970 回答
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);" />
于 2013-08-09T11:32:39.780 回答