我正在使用此正则表达式和此代码仅用于数字输入
var numRegex = "[0-9\b]";
和
$('.numOnly').keypress(function(e){
var regex = new RegExp(numRegex);
var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (regex.test(str)) {
return true;
} else {
e.preventDefault();
return false;
}});
我的代码在 Chrome 中运行良好,包括数字输入、退格键、返回键、Home、End、Shift 和 Ctrl,但在 Firefox 中我只能输入数字和退格键。
使用数字输入和使用正则表达式的其他所需内容是否有更好的解决方案?
谢谢
最佳答案
你可以使用
<input type="text" onkeypress="return (event.charCode == 8 || event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57" name="numOnly" />
不需要特殊的 JQuery 处理。 (event.charCode == 8 || event.charCode == 0) ?
检查旨在支持 FireFox 中的 BACKSPACE 和 DELETE 键。
关于javascript - Jquery - Chrome 和 Firefox 中的正则表达式按键操作不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36903908/