Jquery 将输入限制为特定字符
我想将输入字段限制为任何字母、句点和连字符 我原以为下面可以输入任何字母,但不允许输入任何内容。这可能是我忽略的一些明显的东西Jquery 将输入限制为特定字符,jquery,input,keycode,Jquery,Input,Keycode,我想将输入字段限制为任何字母、句点和连字符 我原以为下面可以输入任何字母,但不允许输入任何内容。这可能是我忽略的一些明显的东西 $('input').on('keypress', function(event){ if (event.keyCode > 65 || event.keyCode < 90) return false; }); $('input')。打开('keypress',函数(事件){ 如果(event.keyCode>65 | | eve
$('input').on('keypress', function(event){
if (event.keyCode > 65 || event.keyCode < 90)
return false;
});
$('input')。打开('keypress',函数(事件){
如果(event.keyCode>65 | | event.keyCode<90)
返回false;
});
提前谢谢 要实现这一点,您可以使用正则表达式将输入的文本与希望允许的值进行比较,并删除任何不允许的值。检查值时,还应使用
keyup
事件。您还可以使用输入
、模糊
和粘贴
事件来确保所有浏览器都覆盖了所有事件。试试这个:
$('input')。在('input blur keyup paste',function()上{
$(this).val(函数(i,v){
返回v.替换(/[^a-z\.-]/ig');
});
});代码>
如果只想使用数字,请尝试以下操作:
$('#text').keypress(function (e) {
var regex = new RegExp("^[a-zA-Z]\-.+$");
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
}
e.preventDefault();
return false;
});
数字?OP明确指出:将输入字段限制为任何字母、句点和连字符
更新了正则表达式。此解决方案是否优于preventDefault()
解决方案?哪个更快/更好?preventDefault()
不适用于paste
事件,应该考虑到这一点,因为很容易绕过keydown
/keyup
基于事件的限制