[英]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.