我需要这样做,以便用户只能在输入框中键入a-z0-9。如何才能使用户根本无法输入其他字符?如果这不可能,我怎么能用regex检查输入?
谢谢!
答案 0 :(得分:2)
如果您使用jQuery,那么format plugin可以完全满足您的需求。除此之外,您可以使用onkeyup / onkeyup来调用函数,该函数将根据正则表达式模式验证输入。
答案 1 :(得分:2)
另一个值得注意的解决方案是jquery的这个字母数字插件: http://itgroup.com.ph/alphanumeric/
简单为$('#textField').alphanumeric();
答案 2 :(得分:1)
您可以使用onKeyDown事件。如果从事件处理程序返回false,则不会触发按键事件并且键被“吃掉”。
以下是Sun的文档:http://docs.sun.com/source/816-6408-10/handlers.htm#1120313
答案 3 :(得分:1)
这是一个从this page改编而来的解决方案:
window.onload = function () {
document.forms.myForm.myField.onkeypress = keyTest;
}
function keyTest(e)
{
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
reg = /[a-z0-9]/i;
if (key != 8 && key != 9) return reg.test(keychar);
}
答案 4 :(得分:0)
确保您也在服务器上执行验证(假设有一个服务器部分),以防某些用户关闭了javascript。