我正在进行电话验证,并要求使用电话号码自动格式化输入,并且只允许添加数字字符.但是当我尝试使用keydown和keypress限制输入时,IPhone允许我输入#和*.当我检查keydown值时,它们分别与3和8相同(键码51和56).这在Android浏览器中完美运行但在iPhone中失败.
任何人都面临类似的问
$(formSelector + ' input[name^="phone"]').on('keydown keypress',function (e) {
// Allow: backspace, delete, tab, escape, and enter
if ( e.keyCode == 46 || e.keyCode == 8 || e.keyCode == 9 || e.keyCode == 27 || e.keyCode == 13 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: home, end, left, right
(e.keyCode >= 35 && e.keyCode <= 39)
) {
// let it happen, don't do anything
return;
} else {
// Ensure that it …
Run Code Online (Sandbox Code Playgroud)