我在这里遇到了一些问题。我使用JavaScript库来过滤inputField的输入。它到目前为止工作正常,只输入允许的字符。 但是如果用户按AltGr(右Alt || CTRL + ALT),他仍然可以输入特殊的字符,如@,€,[等等。 有没有办法限制这个?我试过了event.preventDefault();用keydown()做这个的方法;但它没有工作......
这是我用于输入过滤器的小小片段:
$(".field").filter_input({ regex: '[a-zA-Z0-9]' });
这是我使用的jQ-Plugin的链接: http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input
答案 0 :(得分:1)
图书馆的第37行(http://www.thimbleopensource.com/download/jquery/jquery.filter_input.js)会返回,如果您按CTRL或ALT,则不会进行任何过滤。
if (event.ctrlKey || event.altKey) return;
您的选择是:
答案 1 :(得分:0)
试试这个
<input id="txt" type="text" />
<script>
$("input:text").blur(function () {
checkSpecialChar();
});
function checkSpecialChar()
{
var checkString = $("#txt").val();
if (checkString != "") {
if (/[^A-Za-z\d]/.test(checkString)) {
alert("Please enter only letter and numeric characters");
return (false);
}
}
}
</script>