我写了一个javascript函数,只允许这样的数字,逗号,点
function isNumber(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode(key);
var regex = /^[0-9.,]+$/;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault) theEvent.preventDefault();
}
}
但是,如果我想删除任何数字形式的文本框..退格键不起作用。然后我将正则表达式代码更改为“
var regex = /^[0-9.,BS]+$/;
”我仍然无法在textbox中使用退格键。即使我不能在文本框中使用左右键,这是我做错了吗?谁能帮忙...谢谢。 (当我在正则表达式中使用“BS”而不是退格键时,在文本框中允许使用“B”,“S”字符。)
最佳答案
试试下面的代码:
function isNumber(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.,\b]+$/;
if (!regex.test(key)) {
theEvent.returnValue = false;
if (theEvent.preventDefault) theEvent.preventDefault();
}
}
关于JavaScript仅允许数字,逗号,点,退格键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21374605/