我有一个表单文本字段,我想只允许数字和字母(即,没有#$ !,等…)有一种方法来抛出一个错误,并防止keypress实际输出任何东西,如果用户尝试使用除数字和字母以外的任何字符?我一直在试图找到一个插件,但没有真正找到任何这样做…
解决方法
$('input').keyup(function() { var $th = $(this); $th.val( $th.val().replace(/[^a-zA-Z0-9]/g,function(str) { alert('You typed " ' + str + ' ".\n\nPlease use only letters and numbers.'); return ''; } ) ); });
编辑:
这里还有一些其他好的答案,将防止输入发生。
我已经更新我,因为你也想显示一个错误。 replace可以使用函数而不是字符串。该函数运行并返回一个替换值。我添加了一条警示以显示错误。