【发布时间】:2015-01-09 04:22:31
【问题描述】:
我想要一个只允许字母数字字符、退格、删除、空格和特殊字符的验证,这些字符可以从 Kyeboard 更改文本框的值。我试过了
$('#profile_pstate').on('keypress',function(e1){
var cntry_key = e1.which;
if(cntry_key == 8 || cntry_key == 46 || cntry_key == 32 || (cntry_key >= 48 && cntry_key <= 57) || (cntry_key >= 65 && cntry_key <= 90)) {
// For Backspace, Delete, Space, Numbers and Alphabets
alert('success');
}
});
但是对于特殊字符,我该如何添加它们。如果我手动添加它们,它们不在像字母和数字这样的适当范围内。您能否建议我一种方法,甚至是一种正确的验证方法.
【问题讨论】:
-
"alphanumeric characters,backspace,delete,space and special characters"这就是我们在键盘上的全部内容! -
想想用正则表达式
-
@Bharadwaj 按tab、shift、alt、功能键怎么样?我们需要跳过它们对吗?我只想接受
alphanumeric characters,backspace,delete,space and special characters -
@Gautam3164 如果要限制选项卡、shift 键,用户将如何将焦点移动到另一个输入控件?您是否要限制用户仅使用鼠标移动到另一个输入控件。同样,如果您限制 shift,用户将如何键入 @、#、$ 等特殊字符以及大小写混合(通常用户将通过按 shift 键键入大写字母,尽管大写锁定是另一种选择,我认为没有人会使用该选项)
-
@Gautam3164
keypress事件仅识别printable键!如果您想让keycode与您按下的所有键相关联,请使用keydown
标签: javascript jquery validation