使用jQuery禁止在文本区域中击键
在Twitter注册过程中,它们不允许您输入字母数字关键字以外的任何字符使用jQuery禁止在文本区域中击键,jquery,textarea,Jquery,Textarea,在Twitter注册过程中,它们不允许您输入字母数字关键字以外的任何字符 这样做的好方法和有效方法是什么?可用的插件对我来说似乎有点太慢了,因此,我想知道是否有人有更有效的方法来这样做您可以为keydown事件编写一个事件处理程序,例如,如果文本与正则表达式不匹配,它将停止事件的传播。您可以为keydown事件编写一个事件处理程序,它将停止事件的传播例如,如果文本与正则表达式不匹配,则发生事件。您可以侦听keydown/keypress,检查字符代码,如果它不是您想要的preventDefaul
这样做的好方法和有效方法是什么?可用的插件对我来说似乎有点太慢了,因此,我想知道是否有人有更有效的方法来这样做您可以为
keydown
事件编写一个事件处理程序,例如,如果文本与正则表达式不匹配,它将停止事件的传播。您可以为keydown
事件编写一个事件处理程序,它将停止事件的传播例如,如果文本与正则表达式不匹配,则发生事件。您可以侦听keydown
/keypress
,检查字符代码,如果它不是您想要的preventDefault()
或返回false
实施
下面是一个jQuery示例。这将创建一个“有效”键代码列表,最初使用格式化程序(转义、退格等)填充,然后使用其他有效键填充数组
$('input').keydown(function(e) {
var a=[8,9,13,16,17,18,20,27,35,36,37,38,39,40,45,46,91,92];
var k = e.which;
for (i = 48; i < 58; i++) // 0-9 on top of keyboard
a.push(i);
for (i = 65; i < 91; i++) // a-z
a.push(i);
for (i = 96; i < 106; i++) // 0-9 on numpad
a.push(i);
if (!(a.indexOf(k)>=0)) // prevents disabled keys
e.preventDefault();
});
$(“输入”).keydown(函数(e){
变量a=[8,9,13,16,17,18,20,27,35,36,37,38,39,40,45,46,91,92];
var k=e,其中;
对于键盘顶部的(i=48;i<58;i++)//0-9
a、 推(i);
对于(i=65;i<91;i++)//a-z
a、 推(i);
对于numpad上的(i=96;i<106;i++)//0-9
a、 推(i);
如果(!(a.indexOf(k)>=0))//防止禁用键
e、 预防默认值();
});
您还可以使用此数组在提交之前检查用户名的有效性,方法是迭代字符串中的每个字符并确保它是其中之一
在这里试一试
您可以监听
按键
/按键
,检查字符代码,如果它不是您想要的preventDefault()
或返回false
实施
下面是一个jQuery示例。这将创建一个“有效”键代码列表,最初使用格式化程序(转义、退格等)填充,然后使用其他有效键填充数组
$('input').keydown(function(e) {
var a=[8,9,13,16,17,18,20,27,35,36,37,38,39,40,45,46,91,92];
var k = e.which;
for (i = 48; i < 58; i++) // 0-9 on top of keyboard
a.push(i);
for (i = 65; i < 91; i++) // a-z
a.push(i);
for (i = 96; i < 106; i++) // 0-9 on numpad
a.push(i);
if (!(a.indexOf(k)>=0)) // prevents disabled keys
e.preventDefault();
});
$(“输入”).keydown(函数(e){
变量a=[8,9,13,16,17,18,20,27,35,36,37,38,39,40,45,46,91,92];
var k=e,其中;
对于键盘顶部的(i=48;i<58;i++)//0-9
a、 推(i);
对于(i=65;i<91;i++)//a-z
a、 推(i);
对于numpad上的(i=96;i<106;i++)//0-9
a、 推(i);
如果(!(a.indexOf(k)>=0))//防止禁用键
e、 预防默认值();
});
您还可以使用此数组在提交之前检查用户名的有效性,方法是迭代字符串中的每个字符并确保它是其中之一
在这里试一试
我使用这个插件:
我没有遇到任何延迟问题。我使用这个插件:
我没有遇到任何延迟问题。请注意,您可能也希望筛选剪贴板中的粘贴,并在服务器上重新验证字符串。马上,谢谢4 e提醒!请注意,您可能也想从剪贴板中筛选粘贴内容,并在服务器上重新验证该字符串。马上,谢谢4 e提醒!