Shr*_*rry 5 javascript regex jquery
我有一个文本框,用户应该只输入字母数字字符,并且应该允许非空格键按下,如退格键,箭头键等.此外,它还适用于所有主流浏览器(如Mozilla Firefox).
我尝试过几个例子,只允许我输入字母数字字符,但退格不适用于Mozilla Firefox中的以下示例.
$('input').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z0-9]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
Irv*_*nin 10
您可以添加[\b]以匹配并允许退格.
码:
var regex = new RegExp("^[a-zA-Z0-9\b]+$");
Run Code Online (Sandbox Code Playgroud)
您可以检查按下的键是否在允许的键列表中(箭头,home,del,canc),而不是扩展您的正则表达式,如果是,请跳过验证.
这不会阻止用户复制/粘贴不允许的字符.所以blur也要在事件中执行验证控制(并且始终在服务器端).
码:
var keyCode = event.keyCode || event.which
// Don't validate the input if below arrow, delete and backspace keys were pressed
if (keyCode == 8 || (keyCode >= 35 && keyCode <= 40)) { // Left / Up / Right / Down Arrow, Backspace, Delete keys
return;
}
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/M3bvN/3/
| 归档时间: |
|
| 查看次数: |
23890 次 |
| 最近记录: |