Javascript 当我们使用java脚本只允许文本框中的数字时,允许tab键
我编写了一个java脚本,它只允许数字、逗号和点。我在四个文本框上应用了它。我的问题是我有10个文本框,其中包含不同类型的数据,我在其中的四个文本框上应用了java脚本。我可以在其他文本框上使用tab键,但不能在java脚本应用文本框上使用tab键来移动courser。我的剧本里有没有什么需要修改的地方。。。谢谢 Java脚本:-Javascript 当我们使用java脚本只允许文本框中的数字时,允许tab键,javascript,regex,Javascript,Regex,我编写了一个java脚本,它只允许数字、逗号和点。我在四个文本框上应用了它。我的问题是我有10个文本框,其中包含不同类型的数据,我在其中的四个文本框上应用了java脚本。我可以在其他文本框上使用tab键,但不能在java脚本应用文本框上使用tab键来移动courser。我的剧本里有没有什么需要修改的地方。。。谢谢 Java脚本:- function isNumberCommaDot(evt) { var theEvent = evt || window.event;
function isNumberCommaDot(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode(key);
if (key.length == 0) return;
var regex = /^[0-9,\9\b]*\.?[0-9]*$/;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault) theEvent.preventDefault();
}
}
我在正则表达式中使用了\9,但它仍然不接受tab键。(9是ASCII字符。对于tab键)您可以检查它是否是先前的tab键,只需跳过处理即可
function isNumberCommaDot(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
if (key === 9 ) { //TAB was pressed
return;
}
key = String.fromCharCode(key);
if (key.length == 0) return;
var regex = /^[0-9,\9\b]*\.?[0-9]*$/;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault) theEvent.preventDefault();
}
}
您可以找到更多信息您可以检查之前是否按了制表键,只需跳过处理即可
function isNumberCommaDot(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
if (key === 9 ) { //TAB was pressed
return;
}
key = String.fromCharCode(key);
if (key.length == 0) return;
var regex = /^[0-9,\9\b]*\.?[0-9]*$/;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault) theEvent.preventDefault();
}
}
你可以找到更多信息