仅输入 QQ 号码的功能分析

作者:别枪手 来源:ITPOW 日期:2006-7-10

今天无意中看了朋友的 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”,利用上述代码可以避免这种情况。

相关阅读:

JavaScript函数如何调用VBScript函数

让人意外的 IsDate 和 CDate

相关文章