此代码适用于除Mozilla Firefox之外的所有流行浏览器。问题是TAB密钥不起作用。任何人都可以找出原因吗?它连接到一种文本字段。我试过添加'\ t',没用。除了Firefox之外,它适用于所有浏览器......
$('.mail').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9@\S._\n\r\b-]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
答案 0 :(得分:0)
不进入正则表达式,您可以通过与其代码进行比较轻松地允许Tab键按压:
$('.mail').bind('keydown', function (event) {
var regex = new RegExp("^[a-zA-Z0-9@\S._\n\r\b-]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key) && event.which != 9) {
event.preventDefault();
return false;
}
});
如果遇到更多应该可行的案例,但不要重新访问正则表达式,但如果这是唯一的情况,那么这个快速的解决方案应该足够了。
另请注意我使用的是keydown而不是keypress(event.which会在按键上抛出不同的代码)