我想限制用戶在html文本框中只輸入字符。我正在使用以下代碼IE8 html文本框中只有字符
$('.alphaonly').live("input", function() {
$(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
});
並且這在IE9中正常工作,但在IE8中失敗。
任何人都可以幫我修復嗎?
我想限制用戶在html文本框中只輸入字符。我正在使用以下代碼IE8 html文本框中只有字符
$('.alphaonly').live("input", function() {
$(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
});
並且這在IE9中正常工作,但在IE8中失敗。
任何人都可以幫我修復嗎?
是非常容易使用插件我的意思是:
http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input
$('#text_input').filter_input({regex:'[a-z]'});
使用keyup
和mouseup
事件對舊版瀏覽器:
$('.alphaonly').on("keyup mouseup input", function() {
$(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
});
的input
事件不會在IE < 9.支持您可以使用keyup
和mouseup
完成幾乎相同的功能。另外,從jQuery 1.7開始,.live()
已棄用,用於支持.on()
。
DEMO。
沒錯,但您可以添加'input'和'mouseup'事件識別'貼'等 – Bergi
@Bergi:的確,謝謝。 –
謝謝,但我們嘗試了這種方法。 keyup的問題是,我們可以看到輸入。而在輸入事件用戶不能看到他輸入的數字。 –
Try this ...
$('.alphaonly').live({
keyup : function() {
$(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
}
});
//If you consider doing it plain JavaScript way, without JQuery
function lettersOnly(evt) {
evt = (evt) ? evt : event;
var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
((evt.which) ? evt.which : 0));
if (charCode > 31 && (charCode < 65 || charCode > 90) &&
(charCode < 97 || charCode > 122)) {
alert("Enter letters only.");
return false;
}
return true;
}
這就是我正在尋找的。 –