簡體   English   中英

如何使用jQuery將正則表達式應用於輸入?

[英]How to apply Regular Expression to input using jQuery?

我有以下代碼可以強制用戶在輸入中僅輸入數字:

$("#Day").keyup(function()
{
 var test =new RegExp( "/\D/G");
 if(test.test($("#Day").val()))
     $("#Day").val(replace("/\D/G" , ""));
});

但它使我可以鍵入非數字並且在控制台中沒有顯示錯誤。

這工作:

JSFIDDLE: http : //jsfiddle.net/4RWBU/

我以某種方式編輯了您的原始代碼。 我將事件類型從keyup更改為keydown 如果我們使用keydown鍵,實際上可以阻止按鍵顯示,但是我不認為使用keyup可以實現(按鍵已經顯示)。

$("#Day").keydown(function(e)
{
  var test = /[0-9]/; //regex
  var value = String.fromCharCode(e.keyCode); //get the charcode and convert to char
  if (value.match(test)) { 
     return false; //dont display key if it is a number
  }       
});

您可以在不使用正則表達式的情況下執行此操作:

type="number"添加到您的輸入中,您應該做得很好。

但是,如果要支持IE和HTML 4用戶,也可以這樣做:

$("#Day").keyup(function () {
    var test = /\D/;
    if (test.test($(this).val())) {
        $("#Day").val($(this).val().replace(/\D/g, ""));
    }
});

演示

暫無
暫無

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

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