今天无意中看了朋友的 QQ 空间网站,发现有一段代码如下,为了简洁我去除了多余代码:
<input value=" -------- " onkeypress="return(event.keyCode>=48&&event.keyCode<=57)">
这段代码的意思是当输入的字符不在 0-9 之间的这十个数字时,就拒绝接受输入,我觉得挺新颖的,就写下来,但有几点是需要注意的。
这个功能仅受 onkeypress 事件的影响,假如我们是用鼠标执行的粘贴操作,就可以输入数字。可以换成 onpropertychange(IE 支持)或 setInterval(IE 和 NS 均支持)。
关于 event 对象,您还可以参见:Netscape中使用event对象
这里限制的是 QQ 号码,仅是 0-9 个数字字符,并非数字格式,因为数字格式还应该允许正负号、小数点等。
应用:
有一种情况,我们可能需要用户输入时间或日期,而对于数字的输入,用户可能输入的是中文数字,比如"1"输成了“1”,利用上述代码可以避免这种情况。
相关阅读: