以下脚本旨在允许用户仅输入a-z中的小写字母,0-9和短划线-
中的数字。这适用于Chrome,但在Firefox上,文本字段根本不允许任何输入。出了什么问题?
$('#slug_input').keypress(function(key) {
return((key.keyCode >= 97 && key.keyCode <= 122) || (key.keyCode >= 48 && key.keyCode <= 57) || key.keyCode == 45 );
});
答案 0 :(得分:3)
$('#slug_input').keypress(function(key) {
return((key.which >= 97 && key.which <= 122) || (key.which >= 48 && key.which <= 57) || key.which == 45 );
});
答案 1 :(得分:2)
event.keycode
。使用event.which
for firefox。检查以下代码,该代码仅允许使用字母数字和连字符。
$(function() {
$('#slug_input').keypress(function(evt) {
var keyID = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
return ((keyID >= 97 && keyID <= 122) || (keyID >= 48 && keyID <= 57) || keyID == 45);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="slug_input">
&#13;
但正如tushar所建议的那样,我建议你使用Regex Matching。