2014-03-07 50 views
0

我在這裏的代碼如何避免文本移動數字字段MVC2

<%: Html.TextBox("ContactNumber", Model.ContactNumber, new { @title = "Don't enter 0 or country code before Mobile Number", @maxlength = "10"})%> 

在這裏,我想只允許數字字母沒有。我試圖用jQuery代碼..但我不能趕上結果..

jQuery代碼:

$('#ContactNumber').click(function() { 
    this.value = this.value.replace(/[^0-9]/g, ''); 
}); 

請幫我找出這個問題?

+1

? –

回答

1

您可能需要使用keydown事件來代替。

$(document).ready(function() { 
    $("#ContactNumber").keydown(function (e) { 
     if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 190]) !== -1) { 
      return; 
     } 
     if (((e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { 
      e.preventDefault(); 
     } 
    }); 
}); 

此外,如果您使用HTML5,你可以輸入的類型設置爲數字

<input type="number" /> 
你希望只允許數字那麼你爲什麼要更換
+0

但它不允許退格和刪除操作 – PoliDev

+0

@PoliDev我更新了代碼,以允許像退格,製表符,輸入,轉義和小數點等常用字符。 – user2793390

0

試試這個

function phonenumber(inputtxt) 
{ 
    var phoneno = /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/; 
    if((inputtxt.value.match(phoneno)){ 
     return true; 
    } else{ 
     alert("message"); 
     return false; 
    }; 
} 
相關問題