-2

HTML テキスト ボックス (onkeypress) を検証する必要があります。指定された形式の時間のみを許可します。

hh:mm // hh--> 24 までと mm --> 59 までのみ許可

他のテキストはテキスト ボックスを制限しません: JavaScript を使用してテキスト ボックスに常に表示されます

4

1 に答える 1

0

それはとても簡単です。

function validate(form) {
    var hhmm = form.time.value.split(':'); // split hours and minutes
    var hours = parseInt(hhmm[0]); // get hours and parse it to an int
    var minutes = parseInt(hhmm[1]); // get minutes and parse it to an int

    // check if hours or minutes are incorrect
    if(hours < 0 || hours > 24 || minutes < 0 || minutes > 59) {
        alert('NOPE'); // display error
        return false; // stop the form from sending
    }
}

HTML5time入力も使用することをお勧めします。ブラウザが要素 (IE、Firefox) をサポートしていない場合、通常のテキスト入力に戻ります。したがって、どちらの方法でも機能します。

<input type="time" name="time" />

最後にvalidate、フォームが送信されたときに実行するには、次の属性を追加します。

onsubmit="return validate(this);"

これは機能しますが、有効な時間であることを確認するために、サーバー側 (PHP、C#、Java、Perl、Ruby など) を検証する必要があります。

ハッカーが無効なデータを送信しても構わないと思っている場合、フォームに入力する必要はありませんが、カスタム クラフト データをサーバーに直接送信できます。したがって、サーバー側で (再) 検証する必要があります。

于 2013-02-15T11:51:10.457 に答える