Possible Duplicate:
07000
我在页面上有3个文本框。其中一个应该允许数字,其他字母和第三个数字或字母。
由于这是唯一的要求,我不想使用验证插件或任何其他第三方插件。我怎么能通过使用纯jQuery创建自己的插件来做到这一点?
这就是我所做的,但我觉得代码会变得太长
$(this).keydown(function(e) { var key = e.charCode || e.keyCode || 0; return ( key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40) || (key >= 48 && key <= 57) || (key >= 96 && key <= 105)); });
解决方法
更好的解决方案可能是使用基于正则表达式的检查。以下示例将仅限制具有id文本的字段中的字母数字字符:
$('#text').keypress(function (e) { var regex = new RegExp("^[a-zA-Z0-9]+$"); var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); if (regex.test(str)) { return true; } e.preventDefault(); return false; });