我目前正在開發一個C#MVC項目。在輸入數據庫中的用戶詳細信息時,我需要將我的手機字段自定義爲只接受數字。經過一番搜索,我發現下面的代碼:如何防止文本框複製到該字母?
$(document).on("keypress","#MobilePhone", function (e) {
var regex = new RegExp("^[0-9]\d*$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
});
此代碼適用於我,它只允許在文本框中輸入數字。
但有一個問題,如果用戶複製一些文本,然後將內容粘貼到文本框中,則什麼都不會發生。然後,如果我按提交按鈕它提交併發生錯誤。
所以後來我發現這樣一個問題:Disable Copy or Paste action for text box?
問題的答案是:
$('#email').bind("cut copy paste",function(e) {
e.preventDefault();
});
但我想這之後我甚至沒有數字複製到文本框。有什麼方法可以防止僅複製字母和特殊字符。
你需要添加邏輯到第二'bind'方法檢查/處理什麼被粘貼。此時'e.preventDefault()'只會阻止所有的內容 – DiskJunky
,您可以使用內置的'並使用min和max屬性來控制最小值和最大值。 –