我想限制用户只输入html文本框中的字符。我使用以下代码
$('.alphaonly').live("input", function () {
$(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
});
这在IE9中工作正常,但在IE8中失败。
任何人都可以帮我修理吗?
答案 0 :(得分:3)
我的意思是使用插件更容易:
http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input
$('#text_input').filter_input({regex:'[a-z]'});
答案 1 :(得分:2)
对旧版浏览器使用keyup
和mouseup
事件:
$('.alphaonly').on("keyup mouseup input", function () {
$(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
});
IE中不支持input
事件< 9.您可以使用keyup
和mouseup
完成几乎相同的功能。此外,从jQuery 1.7开始,.live()
被弃用,而不是.on()
。
<强> DEMO 强>
答案 2 :(得分:0)
Try this ...
$('.alphaonly').live({
keyup : function () {
$(this).val($(this).val().replace(/[^A-Za-zÀ-ÿ ]/g, ''));
}
});
答案 3 :(得分:0)
//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;
}