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 に答える