【发布时间】:2013-11-29 10:54:23
【问题描述】:
我有以下验证,在 Javascript 中只允许数字和小数
function validate(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();
}
}
我在我的文本框元素中称之为 onkeypress='validate(event)'
此代码在 IE 中运行良好,但当我尝试使用 Firefox 退格键时,左右箭头键和空格不起作用。
我将如何解决这个问题?
【问题讨论】:
-
“不起作用”是什么意思?你的意思是按这些键没有效果,你认为它应该,还是按这些键有效果,你认为它不应该?
-
好了,这里可以使用Jquery的event.which属性。 event.which 属性返回为事件按下了哪个键盘键或鼠标按钮。因此,只需在您的代码中编写 theEvent.which,退格和空格将在 Firefox 中工作。希望这个解决方案有所帮助。
标签: javascript regex jsp firefox gecko