浏览 3884 次
锁定老帖子 主题:javascript判断数字
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-15
我在网上看到这样一个判断地函数: //数字的确定 function isDigit(theNum) { var theMask = "0123456789"; if (isEmpty(theNum)) return (false); else if (theMask.indexOf(theNum) == -1) return (false); return (true); } 当时没有深究,用上去发现能用。现在发现其原来是不准确的,因为数字在10以内都还好,超过10就不对了。 indexof函数其实是一个找子串的函数,所以很明显上面的程序不对。网上还有使用循环来判断地,具体来说就是根据长度,一次取一个字符判断是不是数字,不过我总感觉这样太烦,效率低。下面这个可能就是简单高效了,挺好用的: <html> <title></title> <head> </head> <body> <form> <table> <tr> <td class="title">索引</td> <td><s:textfield name="dictionary.index" onblur="onlyNum (this.value);"/> </td> </tr> </table> </form> <script language=javascript> function onlyNum(number) { if(number!="") { var r,re; re = /\d*/i; //\d表示数字,*表示匹配多个数字 r = number.match(re); if(r==number) { return true; }else { window.alert("索引类型不正确!请输入数据型..."); document.forms[0].index.value="";//清空文本值 document.forms[0].index.focus();//获得光标 return false; } } } </script> </body> </html> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-06-16
正则表达式喽
|
|
返回顶楼 | |