簡體   English   中英

如何使輸入字段僅接受數字

[英]How to make input field to accept only numbers

我有一個數字類型的輸入字段,因此它只能接受數字-我正在使用正則表達式來限制用戶輸入特殊字符-它在系統上工作正常,但在小型設備上,例如在我的手機中,鍵盤類型是唯一的數字,但是當我單擊時-它接受了我不想要的那個

我做了什么

 $('#test').on('keypress', function(event) { var regex = new RegExp("^[0-9]+$"); var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); if (!regex.test(key)) { event.preventDefault(); return false; } }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css"> <input type="number" class="form-control" id="test"> 

像這樣在手機上顯示

這個

-i已嘗試使用正則表達式來限制它,但無法在電話上使用

編輯我快要接近了,我正在嘗試下面的代碼,但是它正在減去-第一次當我下次沒有按時,例如如果我輸入55然后我按-它不是在接受,而是當我按-在任何數字之前它正在

 (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); } }); }; }(jQuery)); $("#uintTextBox").inputFilter(function(value) { return ^\\d + [.] ? \\d + $.test(value); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input id="uintTextBox" type="tel"> 

使用此正則表達式不允許-<input type="tel">開頭的字符:

/^\d*[.]?\d*$/

請查看工作提琴: https : //jsfiddle.net/uhkv65yj/

 /* Function allows only numbers and decimal */
$(document).on('keypress','#test',function(eve) {
    if ((  eve.which != 45 ||eve.which != 46 || $(this).val().indexOf('.') != -1 ) 
         && ( eve.which <  48 || eve.which > 57 ) 
         || ( $(this).val().indexOf('.') == 0) 
       )
       {
            eve.preventDefault();
       }
 })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM