以下是我的JavaScript代码,它只接受数字和点(。)。但是,如果我写123 ..... 122这仍然是接受。基本上我是这样做的价格字段验证用户只能写这种格式。正则表达式匹配正确的价格值
欲望格式:
$(currency)12345(amount).(dot only once)123(decimal)
JavaScript代码:
<script type="text/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();
}
}
</script>
HTML输入字段:
<input type='text' onkeypress='validate(event)' />
何我可以修复这个JavaScript代码吗?
谢谢。
让您随心所欲地匹配,例如,'$ 845.47'? – Markasoftware
@Markasoftware是的,这是我的货币格式。 – Babu
你只是在测试他们按下的键。您需要测试整个输入 – Markasoftware