我想将输入字段限制为任何字母,句号和连字符。
我认为以下内容允许输入任何字母,但它不允许输入任何内容。这可能是我忽视的显而易见的事情。
$('input').on('keypress', function(event){
if (event.keyCode > 65 || event.keyCode < 90)
return false;
});
提前致谢!
答案 0 :(得分:2)
要实现此目的,您可以使用正则表达式将输入的文本与您要允许的值进行比较,并删除您不想要的值。检查值时,您还应该使用keyup
事件。您还可以使用input
,blur
和paste
事件来确保所有浏览器都涵盖所有事件。试试这个:
$('input').on('input blur keyup paste', function() {
$(this).val(function(i, v) {
return v.replace(/[^a-z\.-]/ig, '');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="foo" type="text" />
答案 1 :(得分:0)
如果您只想使用数字,请尝试以下操作:
$('#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;
});