5

事前に構成された数値範囲内で入力フィールドを検証したいと思います。1 から 24 までの数字のみが許可されます。

どのようにできるのか?


次のようなカスタム ソリューションを使用します。

    $('.field').keypress(function(event) {
        var val = parseInt($(this).val()) + HERE_I_SHOULD_SUM_THE_NEWLY_ADDED_DIGIT;
        if(val < 1 || val > 24) event.preventDefault();
    });

現在の入力値を取得できます。新しく追加された数字を追​​加するにはどうすればよいですか?

4

5 に答える 5

11

このようなものはどうですか?

​$("input").on("change", function() {
    var val = Math.abs(parseInt(this.value, 10) || 1);
    this.value = val > 25 ? 24 : val;
});​​​​​​​​​​​​​

デモ: http://jsfiddle.net/3jw4S/

于 2012-06-20T14:02:25.727 に答える
2

最新のブラウザーには、入力用の組み込み機能があります。

包括的な概要については、http ://www.the-art-of-web.com/html/html5-form-validation/ をご覧ください。

基本的に、次のように記述できます。

<input type="number" min="1" max="24" step="1" required>

pattern を使用すると、テストする正規表現を定義できます。

pattern="\d[0-3]"

于 2012-06-20T14:13:28.153 に答える
1

Valid8 と呼ばれる検証に役立つ JQuery 用のプラグインがあります。

http://unwrongest.com/projects/valid8/

次のような正規表現を使用する必要があります。

^([1-9]|[1]?[1-9]?|[2][0-4]|10)$
于 2012-06-20T13:59:48.150 に答える
0

これを試して

function validate() {
 var x = parseInt(value,10) // its the value from the input box;
 if(isNaN(x)||x<1||x>24)
 {
  alert("Value must be between 1 and 24");
  return false;
  }
}
于 2012-06-20T14:08:40.923 に答える
0
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x <1|| x >24)
  {
  alert("Value must be between 1 & 24");
  return false;
  }
}

それらの線に沿った何かが機能するはずです

于 2012-06-20T14:01:29.067 に答える