jQueryを使用してHTML入力ボックスで数値(0〜9)のみを許可する方法


901

(0,1,2,3,4,5 ... 9)0-9のような数字のみを許可するテキスト入力フィールドがあるWebページを作成しています。

jQueryを使用してこれを行うにはどうすればよいですか?


73
クライアント側の検証に依存することはできないことに注意してください。ユーザーがJavaScriptをオフにしている場合、またはJavaScript互換のブラウザーを使用していない場合も、サーバーで検証する必要があります。
cjk 2009年

45
あなたはhtml5を検討しましたか?<input type = "number" />。min属性とmax属性を使用すると、入力も制限できます
ZX12R

5
キーアップイベントでは入力値をチェックする必要がありますが、キーコードをチェックするのではなく、キーボードの違いやそうでない場合の信頼性がはるかに高いためです。
Richard

13
私はリチャードに完全に同意します。キーコードを使用しないでください。たとえば、フランスのキーボードで数字を入力するには「Shift」を押す必要があるため、受け入れられた回答はフランスのキーボードでは機能しません。キーコードはリスクが高すぎると思います。
MiniQuark

3
@ ZX12R現在のバージョンのIEでは機能しません。最新のコードを自分のものに使用して最新の状態に保つことはすべてうまくいきますが、これはほとんどすべてのプロフェッショナルプロジェクトにとって実際の選択肢ではありません。caniuse.com/#feat=input-number
Eric

回答:


1260

注:これは更新された回答です。以下のコメントは、キーコードをいじった古いバージョンを参照しています。

jQuery

JSFiddleで自分試してみてください。

これにはネイティブのjQuery実装はありませんが<input>、次のinputFilterプラグインを使用してテキストの入力値をフィルターできます(コピー+貼り付け、ドラッグ+ドロップ、キーボードショートカット、コンテキストメニューの操作、型指定できないキー、キャレットの位置などをサポートしています)キーボードレイアウト、およびIE 9以降のすべてのブラウザー):

// Restricts input for the set of matched elements to the given inputFilter function.
(function($) {
  $.fn.inputFilter = function(inputFilter) {
    return this.on("input keydown keyup mousedown mouseup select contextmenu drop", function() {
      if (inputFilter(this.value)) {
        this.oldValue = this.value;
        this.oldSelectionStart = this.selectionStart;
        this.oldSelectionEnd = this.selectionEnd;
      } else if (this.hasOwnProperty("oldValue")) {
        this.value = this.oldValue;
        this.setSelectionRange(this.oldSelectionStart, this.oldSelectionEnd);
      } else {
        this.value = "";
      }
    });
  };
}(jQuery));

これで、inputFilterプラグインを使用して入力フィルターをインストールできます。

$(document).ready(function() {
  $("#myTextBox").inputFilter(function(value) {
    return /^\d*$/.test(value);    // Allow digits only, using a RegExp
  });
});

その他の入力フィルターの例については、JSFiddleデモを参照してください。また、サーバー側の検証を行う必要があることにも注意してください

純粋なJavaScript(jQueryなし)

jQueryは実際には必要ありません。純粋なJavaScriptでも同じことができます。この回答を参照してください。

HTML 5

HTML 5には<input type="number">仕様を参照)のネイティブソリューションがありますが、ブラウザのサポートはさまざまです。

  • ほとんどのブラウザは、フォームを送信するときにのみ入力を検証し、入力時には検証しません。
  • ほとんどのモバイルブラウザstepminおよびmax属性をサポートしていません。
  • クロム(バージョン71.0.3578.98)はまだ、ユーザーが文字を入力することを可能にeし、Eフィールドに。こちらの質問もご覧ください。
  • Firefox(バージョン64.0)およびEdge(EdgeHTMLバージョン17.17134)では、ユーザーはフィールドに任意のテキストを入力できます。

w3schools.comでお試しください。


45
ありがとう!event.keyCode == 46 || event.keyCode == 8 || 小数が必要な場合はevent.keyCode == 190
Michael L Watson

9
たとえば、txtボックスで左矢印と右矢印のナビゲーションを可能にするために、keyCode 37と39を追加します。if(event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 39)
アンソニークイーン

22
ああ、テスターからこの問題を取り上げたところだ。ユーザーがシフトを押し続けて数字キーを押すことを防ぐ必要があります。そうしないと、入力で!@#$%^&*()が許可されます
アレンライス

6
shift +バグを確認しました。また、ALT +テンキーはほとんどすべてを許可します(Alt + 321 = A、Alt + 322 = Bなど)。サーバー側検証の別のケース。
アンソニークイーン

140
私はこの回答に本当に同意しません。キーボードレイアウトが何かわからないため、キーコードを操作するのは非常に危険です。たとえば、フランス語のキーボードでは、ユーザーは数値を入力するためにShiftキーを押す必要があります。したがって、このコードはまったく機能しません。したがって、このキーコードハックの代わりに検証に行ってください。
MiniQuark

182

これが私が使用する関数です:

// Numeric only control handler
jQuery.fn.ForceNumericOnly =
function()
{
    return this.each(function()
    {
        $(this).keydown(function(e)
        {
            var key = e.charCode || e.keyCode || 0;
            // allow backspace, tab, delete, enter, arrows, numbers and keypad numbers ONLY
            // home, end, period, and numpad decimal
            return (
                key == 8 || 
                key == 9 ||
                key == 13 ||
                key == 46 ||
                key == 110 ||
                key == 190 ||
                (key >= 35 && key <= 40) ||
                (key >= 48 && key <= 57) ||
                (key >= 96 && key <= 105));
        });
    });
};

その後、次のようにしてコントロールにアタッチできます。

$("#yourTextBoxName").ForceNumericOnly();

2
これは便利だと思いましたが、迷惑な「バグ」を見つけました。iMacでこれを使用すると、aやeなどの文字が許可されます。PCのキーパッドの数字はiMacの文字で、Macのキーボードは通常の数字と同じです。誰もがそれをmacとpcの両方で動作させる方法を知っていますか?
Volmar

3
キー「Home」、「End」も機能していません。これは、Peterが提案したより優れたソリューションです。west
wind.com

なぜreturn this.each(function() ですか?
powtac

2
@powtac-複数のオブジェクトで.ForceNumericOnly()を呼び出すことができます。たとえば... $( "input [type = 'text']")。ForceNumericOnly()
Oliver Pearmain

1
@powtac eachfrom return this.each(function()はHaggleLadが言ったように複数のオブジェクトを許可することであり、returnパートは次のようなチェーンを許可するためにjQueryオブジェクトを呼び出し元に返すことです$("input[type='text'").ForceNumericOnly().show()
Jose Rui Santos

149

列をなして:

<input name="number" onkeyup="if (/\D/g.test(this.value)) this.value = this.value.replace(/\D/g,'')">

控えめなスタイル(jQueryを使用):

$('input[name="number"]').keyup(function(e)
                                {
  if (/\D/g.test(this.value))
  {
    // Filter non-digits from input value.
    this.value = this.value.replace(/\D/g, '');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="number">


2
これにより、ユーザーが左矢印キーを押している場合でも、キャレットが最後に移動します。
Phrogz 2012年

1
@phrogz、これを試してください:onkeyup="if (/\D/g.test(this.value)) this.value = this.value.replace(/\D/g,'')"
Patrick Fisher

これは完全に機能し、上記とは異なり、Shift +数値を防ぎます。
Nick Hartley

5
@ mhenry1384これは予想される動作です。私はそれが素晴らしいフィードバックだと思いますが、それが気に入らない場合は、キーコードのアプローチがあなたが探しているものでしょう。
Patrick Fisher

2
/[^0-9]|^0+(?!$)/gゼロの先行系列を防止するように変更できます。
ジョニーSkovdal 2013

105

単純なJavaScript正規表現を使用して、純粋に数値の文字をテストできます。

/^[0-9]+$/.test(input);

入力が数値の場合はtrueを返し、そうでない場合はfalseを返します。

またはイベントキーコードの場合は、以下の簡単な使用:

     // Allow: backspace, delete, tab, escape, enter, ctrl+A and .
    if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
         // Allow: Ctrl+A
        (e.keyCode == 65 && e.ctrlKey === true) || 
         // Allow: home, end, left, right
        (e.keyCode >= 35 && e.keyCode <= 39)) {
             // let it happen, don't do anything
             return;
    }

    var charValue = String.fromCharCode(e.keyCode)
        , valid = /^[0-9]+$/.test(charValue);

    if (!valid) {
        e.preventDefault();
    }

11
このアプローチの実装については、私の回答を参照してください。
Patrick Fisher

正規表現をチェックするよりも、数値キープレスをチェックする方がプロセッサ時間を短縮しないのではないでしょうか。
andrsnn 14

87

次のような入力イベントで使用できます。

$(document).on("input", ".numeric", function() {
    this.value = this.value.replace(/\D/g,'');
});

しかし、このコード特権は何ですか?

  • モバイルブラウザーで動作します(keydownとkeyCodeに問題があります)。
  • 「on」を使用しているため、AJAXで生成されたコンテンツでも機能します。
  • 貼り付けイベントなど、キーダウンよりもパフォーマンスが優れています。

6
これは、受け入れられた答えよりもはるかに堅牢(かつ単純)なソリューションであると感じています。
Jeremy Harris

replace(/ \ D / g、 '')を使用するとさらに簡単になります
Alfergon

やあ、どのように私は数値を確保することができますdecimal0.024.0、私はそれを入力してみましょうすることができません.
トランス

私は使用することをお勧めしますthis.value = Number(this.value.replace(/\D/g, ''));
HasanG 2018

良い答えです。クラスを切り替えることで、入力が数値であるかどうかを簡単に切り替えることができます
raklos

55

短くて甘い-これは30以上の答えの後はあまり注目されないかもしれません;)

  $('#number_only').bind('keyup paste', function(){
        this.value = this.value.replace(/[^0-9]/g, '');
  });

5
キーアップを入力に置き換えます。それ以外の場合は、文字を押したままにして、クリックしてテキストボックスからフォーカスを移動し、テキストをそのままにします。入力は、これが起こり得ないことを保証します
WizLiz

正規表現をありがとう-これは少し良いイベントハンドラです:$( '#number_only')。on( 'input propertychange'、function(){this.value = this.value.replace(/ [^ 0-9] / g、 '');});
BradM 2017年

3
FYI-質問はそれを要求しませんでしたが、これは小数を許可しません(例えば、12.75)。「キーアップ」ではなく「入力」をバインドすると、一瞬だけ文字が表示されてから削除されるのではなく、UXがよりスムーズになります。
ポール

44

JavaScript関数isNaNを使用します

if (isNaN($('#inputid').val()))

if(isNaN(document.getElementById( 'inputid')。val()))

if (isNaN(document.getElementById('inputid').value))

更新: そして、ここでそれについて話しているがjQueryを使用している素晴らしい記事:HTMLテキストボックスの入力を数値に制限する


40
まあ... JQueryを使用している例の部分を除いて、「JQueryを使用していない」...
GalacticCowboy

document.getElementById('inputid').val()男..それはまだjqueryです。.val()jqueryのものです。使用.value
mpen 2011年


やあ、どのように私は数値を確保することができますdecimal0.024.0、私はそれを入力してみましょうすることができません.
トランス

28
$(document).ready(function() {
    $("#txtboxToFilter").keydown(function(event) {
        // Allow only backspace and delete
        if ( event.keyCode == 46 || event.keyCode == 8 ) {
            // let it happen, don't do anything
        }
        else {
            // Ensure that it is a number and stop the keypress
            if (event.keyCode < 48 || event.keyCode > 57 ) {
                event.preventDefault(); 
            }   
        }
    });
});

出典:http : //snipt.net/GerryEng/jquery-making-textfield-only-accept-numeric-values


6
うわー、空の「if」ブロックとマジックナンバーの両方!私は少し口の中に投げ込んだだけです。:Dしかし、真剣に、入力を正規表現/^[.\d]+$/と単に一致させることができるのに、なぜこの問題すべてに行くのですか?そして、「8」は何を表していますか?
アランムーア

@アラン:ハハ、私には分からない-私はソースから直接コピーした。代わりに「if(event.keyCode!= 46 && event.keyCode!= 8)」と書くか、あなたが言ったように正規表現を使用します。8は削除キーを表すと思います。
Ivar

4
たとえばShift + 8を押してみてください-あなたの検証は*入ります
Anton

これはいいです。Shiftキー+数字(!@#$%^ ..のような特殊文字)を処理する場合は、はるかに良いでしょう
Shyju

27

これを内部の共通jsファイルで使用します。この動作が必要な入力にクラスを追加するだけです。

$(".numericOnly").keypress(function (e) {
    if (String.fromCharCode(e.keyCode).match(/[^0-9]/g)) return false;
});

1
素敵でエレガントで便利なコード!ありがとう。ただし、keyupイベントとkeydownイベントを追加する必要があります。
Silvio Delgado

25

私にとってより簡単なのは

jQuery('.plan_eff').keyup(function () {     
  this.value = this.value.replace(/[^1-9\.]/g,'');
});

7
this.value.replace(/[^0-9\.]/g,'');OPの要件0〜9を含めるために使用することを確認する必要があります
Chalise

24

なぜそんなに複雑なのですか?HTML5パターン属性があるため、jQueryも必要ありません。

<input type="text" pattern="[0-9]*">

クールなのは、モバイルデバイスで数字キーボードが表示されることです。jQueryを使用するよりもはるかに優れています。


2
これにはもっと多くの票があるはずです。どちらかと言えば、html5以外のブラウザ用のフォールバック正規表現を追加することもできますが、データの検証はサーバー側で処理する必要があります。
マーカス

現在のところ、ほとんどのブラウザーで十分にサポートされているようです。modernizrのサポートはそれほど重要ではありません。caniuse.com / #search = pattern Safariは、このサイトで部分的にサポートされていると記載されていても非常にうまく機能します。それを試してみてください!
ゲスト

@guestありがとうございました。最も早くて簡単な答え!私の意見ではトップの回答。
BinaryJoe01 2017

19

この非常にシンプルなソリューションを使用して同じことを行うことができます

$("input.numbers").keypress(function(event) {
  return /\d/.test(String.fromCharCode(event.keyCode));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="numbers" name="field_name" />

私はと呼ばこのリンク解決のために。それは完全に動作します!!!


たぶん、これは/\d|\./を許可するのに適しています。10進数
Zango

これはクロームに最適です。しかしMozilla FireFoxにはありません
キラタカ2016年

やあ、どのように私は数値を確保することができますdecimal0.024.0、私はそれを入力してみましょうすることができません.
トランス

コピーペーストでは機能しません
mrid


14

HTML5のpattern属性は、要素の値がチェックされる正規表現を指定します。

  <input  type="text" pattern="[0-9]{1,3}" value="" />

注:pattern属性は、テキスト、検索、URL、電話、電子メール、およびパスワードの入力タイプで機能します。

  • [0-9]は任意の正規表現条件で置き換えることができます。

  • {1,3}最小1を表し、最大3桁を入力できます。


やあ、どのように私は数値を確保することができますdecimal0.024.0、私はそれを入力してみましょうすることができません.
トランス

1
@transformerは、この<input type = "number" pattern = "[0-9] +([\。、] [0-9] +)?を試してみますか?" step = "0.01">
vickisys 2017

11

jQuery.validateを使用したかなり単純なもの

$(document).ready(function() {
    $("#formID").validate({
        rules: {
            field_name: {
                numericOnly:true
            }
        }
    });
});

$.validator.addMethod('numericOnly', function (value) {
       return /^[0-9]+$/.test(value);
}, 'Please only enter numeric values (0-9)');

8

function suppressNonNumericInput(event){

    if( !(event.keyCode == 8                                // backspace
        || event.keyCode == 46                              // delete
        || (event.keyCode >= 35 && event.keyCode <= 40)     // arrow keys/home/end
        || (event.keyCode >= 48 && event.keyCode <= 57)     // numbers on keyboard
        || (event.keyCode >= 96 && event.keyCode <= 105))   // number on keypad
        ) {
            event.preventDefault();     // Prevent character input
    }
}

やあ、どのように私は数値を確保することができますdecimal0.024.0、私はそれを入力してみましょうすることができません.
トランス

8

他のソリューションのように、ユーザーがテキストを選択したり、貼り付けたりすることを妨げない、非常に優れたシンプルなソリューションを見つけました。jQueryスタイル:)

$("input.inputPhone").keyup(function() {
    var jThis=$(this);
    var notNumber=new RegExp("[^0-9]","g");
    var val=jThis.val();

    //Math before replacing to prevent losing keyboard selection 
    if(val.match(notNumber))
    { jThis.val(val.replace(notNumber,"")); }
}).keyup(); //Trigger on page load to sanitize values set by server

ちょっと私はこれを使用していますが、私が本当に探しているのは、1.2や3.455のようにドットを付けることです
Vivekh

8

次のJavaScript関数を使用できます。

function maskInput(e) {
    //check if we have "e" or "window.event" and use them as "event"
        //Firefox doesn't have window.event 
    var event = e || window.event 

    var key_code = event.keyCode;
    var oElement = e ? e.target : window.event.srcElement;
    if (!event.shiftKey && !event.ctrlKey && !event.altKey) {
        if ((key_code > 47 && key_code < 58) ||
            (key_code > 95 && key_code < 106)) {

            if (key_code > 95)
                 key_code -= (95-47);
            oElement.value = oElement.value;
        } else if(key_code == 8) {
            oElement.value = oElement.value;
        } else if(key_code != 9) {
            event.returnValue = false;
        }
    }
}

そして、次のようにテキストボックスにバインドできます:

$(document).ready(function() {
    $('#myTextbox').keydown(maskInput);
});

私は上記を本番環境で使用しており、完全に動作し、クロスブラウザです。さらに、jQueryに依存しないため、インラインJavaScriptでテキストボックスにバインドできます。

<input type="text" name="aNumberField" onkeydown="javascript:maskInput()"/>

これは、数値以外のテキストを入力に貼り付けると失敗します。どのようにしてこれを克服することができますか?これに私の心を包むことはできません。
キランルースR

7

みんなに役立つと思います

  $('input.valid-number').bind('keypress', function(e) { 
return ( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)) ? false : true ;
  })

あなたはキーパッドの入力を忘れています。これには以下が含まれます:if(event.which!=8 && event.which!=0 && (event.which<48 || event.which>57) && (event.which<96 || event.which>105)) return;
tomvo

6

私は上記の@ user261922の投稿に基づいて私が書いたものですが、少し変更して、すべてのタブを選択し、同じページの複数の「番号のみ」フィールドを処理できるようにしました。

var prevKey = -1, prevControl = '';
$(document).ready(function () {
    $(".OnlyNumbers").keydown(function (event) {
        if (!(event.keyCode == 8                                // backspace
            || event.keyCode == 9                               // tab
            || event.keyCode == 17                              // ctrl
            || event.keyCode == 46                              // delete
            || (event.keyCode >= 35 && event.keyCode <= 40)     // arrow keys/home/end
            || (event.keyCode >= 48 && event.keyCode <= 57)     // numbers on keyboard
            || (event.keyCode >= 96 && event.keyCode <= 105)    // number on keypad
            || (event.keyCode == 65 && prevKey == 17 && prevControl == event.currentTarget.id))          // ctrl + a, on same control
        ) {
            event.preventDefault();     // Prevent character input
        }
        else {
            prevKey = event.keyCode;
            prevControl = event.currentTarget.id;
        }
    });
});

6

これは、少し前に作成した簡単なソリューションです。あなたは私の記事でそれについてもっと読むことができます:

http://ajax911.com/numbers-numeric-field-jquery/

$("#textfield").bind("keyup paste", function(){
    setTimeout(jQuery.proxy(function() {
        this.val(this.val().replace(/[^0-9]/g, ''));
    }, $(this)), 0);
});

6

あなたはタブを許可したいでしょう:

$("#txtboxToFilter").keydown(function(event) {
    // Allow only backspace and delete
    if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 ) {
        // let it happen, don't do anything
    }
    else {
        // Ensure that it is a number and stop the keypress
        if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
            event.preventDefault(); 
        }   
    }
});

6

jQuery UIウィジェットファクトリを使用する答えは次のとおりです。許可する文字を簡単にカスタマイズできます。

$('input').numberOnly({
    valid: "0123456789+-.$,"
});

これにより、数字、番号記号、金額が許可されます。

$.widget('themex.numberOnly', {
    options: {
        valid : "0123456789",
        allow : [46,8,9,27,13,35,39],
        ctrl : [65],
        alt : [],
        extra : []
    },
    _create: function() {
        var self = this;

        self.element.keypress(function(event){
            if(self._codeInArray(event,self.options.allow) || self._codeInArray(event,self.options.extra))
            {
                return;
            }
            if(event.ctrlKey && self._codeInArray(event,self.options.ctrl))
            {
                return;
            }
            if(event.altKey && self._codeInArray(event,self.options.alt))
            {
                return;
            }
            if(!event.shiftKey && !event.altKey && !event.ctrlKey)
            {
                if(self.options.valid.indexOf(String.fromCharCode(event.keyCode)) != -1)
                {
                    return;
                }
            }
            event.preventDefault(); 
        });
    },

    _codeInArray : function(event,codes) {
        for(code in codes)
        {
            if(event.keyCode == codes[code])
            {
                return true;
            }
        }
        return false;
    }
});

これは最初の文字または最初/ 2番目の文字として$、次に+-を保証し、次に小数点1つだけを保証しますか?
ゴードン

6

これは壊れないようです。

// Prevent NULL input and replace text.
$(document).on('change', 'input[type="number"]', function (event) {
    this.value = this.value.replace(/[^0-9\.]+/g, '');
    if (this.value < 1) this.value = 0;
});

// Block non-numeric chars.
$(document).on('keypress', 'input[type="number"]', function (event) {
    return (((event.which > 47) && (event.which < 58)) || (event.which == 13));
});

5

テンキーとタブキーも機能していることを確認する必要があります

 // Allow only backspace and delete
            if (event.keyCode == 46 || event.keyCode == 8  || event.keyCode == 9) {
                // let it happen, don't do anything
            }
            else {
                // Ensure that it is a number and stop the keypress
                if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105)) {

                }
                else {
                    event.preventDefault();
                }
            }

5

私は少し手伝いたかった、そして私は自分のバージョン、onlyNumbers機能を作った...

function onlyNumbers(e){
    var keynum;
    var keychar;

    if(window.event){  //IE
        keynum = e.keyCode;
    }
    if(e.which){ //Netscape/Firefox/Opera
        keynum = e.which;
    }
    if((keynum == 8 || keynum == 9 || keynum == 46 || (keynum >= 35 && keynum <= 40) ||
       (event.keyCode >= 96 && event.keyCode <= 105)))return true;

    if(keynum == 110 || keynum == 190){
        var checkdot=document.getElementById('price').value;
        var i=0;
        for(i=0;i<checkdot.length;i++){
            if(checkdot[i]=='.')return false;
        }
        if(checkdot.length==0)document.getElementById('price').value='0';
        return true;
    }
    keychar = String.fromCharCode(keynum);

    return !isNaN(keychar);
}

inputタグ "... input ... id =" price "onkeydown =" return onlyNumbers(event) "..."を追加するだけで完了です;)


5

私も答えたいです:)

    $('.justNum').keydown(function(event){
        var kc, num, rt = false;
        kc = event.keyCode;
        if(kc == 8 || ((kc > 47 && kc < 58) || (kc > 95 && kc < 106))) rt = true;
        return rt;
    })
    .bind('blur', function(){
        num = parseInt($(this).val());
        num = isNaN(num) ? '' : num;
        if(num && num < 0) num = num*-1;
        $(this).val(num);
    });

それだけです...ただの数字です。:)ほとんど「ぼかし」だけで機能しますが...


5

入力値が数値であることを確認する簡単な方法は次のとおりです。

var checknumber = $('#textbox_id').val();

    if(jQuery.isNumeric(checknumber) == false){
        alert('Please enter numeric value');
        $('#special_price').focus();
        return;
    }

5

このメソッドをJqueryに適用するだけで、テキストボックスを検証して、数値のみを受け入れることができます。

function IsNumberKeyWithoutDecimal(element) {    
var value = $(element).val();
var regExp = "^\\d+$";
return value.match(regExp); 
}

ここでこの解決策を試してください


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.