我有一个正则表达式,将与用户的按键匹配。我很坚持。
这是我目前的代码:
<script type="text/javascript">
$('input.alpha[$id=tb1]').keydown(function (e) {
//var k = e.which;
//var g = e.KeyCode;
var k = $(this).val();
//var c = String.fromCharCode(e.which);
if (k.value.match(/[^a-zA-Z0-9 ]/g)) {
e.preventDefault();
}
});
</script>
此处的目标是阻止用户键入正则表达式中的字符。
先生/女士,你的答案会有很大的帮助。谢谢。答案 0 :(得分:4)
尝试使用fromCharCode方法:
$(document).ready(function () {
$('#tb1').keydown(function (e) {
var k = String.fromCharCode(e.which);
if (k.match(/[^a-zA-Z0-9]/g))
e.preventDefault();
});
});
答案 1 :(得分:3)
您使用keypress
而非keydown
并阻止默认操作。
例如,这可以防止在文本输入中键入w
:
$("#target").keypress(function(e) {
if (e.which === 119) { // 'w'
e.preventDefault();
}
});
更新:如果它正在使用给您带来麻烦的正则表达式:
$("#target").keypress(function(e) {
if (String.fromCharCode(e.which).match(/[^A-Za-z0-9 ]/)) {
e.preventDefault();
}
});