超简单的Javascript数字输入问题
要求文本框中只能输入实数: 
 1.可以输入负数,但负号只能出现一次且只能出现在首位; 
 2.小数点不能出现在首位,也不能紧跟在负号后面,即不能有类似“-.xxx”的情况; 
 3.不能出现类似“00xxx”、“-00xxx”的情况,即不管正数还是负数,前面只能出现一个“0”且只能是“0.xxx”或“-0.xxx”的情况; 
 4.要在输入的时候判断而不要在输入完成之判断; 
 5.不符合以上情况的输入不出现在文本框中(先出现后删除的也不要)。   
 以上要求其实就是一个正常实数的要求,但网上搜索好久都没有完美的解决方案,难道这个问题很难?   
 以上式子中的“x”表示数字
------解决方案--------------------^[+-]?[0-9]+[.]?[0-9]+$
------解决方案--------------------function checknum(str) 
 { 
   var matchstr=/^-?(0.(\d+)?[1-9]|[1-9](\d+)?)$/; 
   retrun matchstr.test(str); 
 }   
 第四五条你找神仙做吧
------解决方案--------------------不懂正则,帮你顶,顺便接点分!
------解决方案--------------------/^-?(?!\.)(?!0{2,})((0\.\d+)|([1-9]\d*\.\d+)|([1-9]\d*))$/   
 测试 
 0.1   true 
 -0.1  false 
 -.1   false 
 10.10 true 
 10.   false 
 1000  true
------解决方案--------------------判断onkeypress,具体的编码忘了,你查查吧 
 逻辑都有了,具体代码判断应该不难写吧
------解决方案--------------------帮顶!
------解决方案--------------------/^(\+|-)?(0|[1-9]\d*)(\.\d*[1-9])?$/ 这个正则可以比较齐全地判断是否为数字
------解决方案--------------------边写边验证,应该是onkeydown事件。 
 至于不出现在文本里面,也就是onkeydown的时候失效。 
 是不是判断他的 Ascii 码啊。
------解决方案--------------------   <input type= "text " onkeydown= "checkValue(this) ">    
 定义检测函数 
 		 <script type= "text/javascript ">  
 		function checkValue(obj) { 
 			var validStr=/^-?(?!\.)(?!0{2,})((0\.\d+)|([1-9]\d*\.\d+)|([1-9]\d*))$/; 
                            if (validStr.test(obj.value)==false){ 
                                alert( '输入非法 '); 
                                obj.value=obj.value.subStr(0,obj.value.length-2); 
                                return; 
 		} 
 		 </script>
------解决方案--------------------问题解决就要结贴,顶一下
------解决方案--------------------键盘检测都解决不了 粘贴的,所以楼主的要求不能100%满足。
------解决方案--------------------JF UP
------解决方案--------------------用AJAXExtensionTools中的控件,有一个好像能实现吧
------解决方案--------------------4.要在输入的时候判断而不要在输入完成之判断; 
 5.不符合以上情况的输入不出现在文本框中(先出现后删除的也不要)。   
 ====   
 那么假如用户输入   
 5.  时候你说我该判断是合法还是非法?非法的话,分数点永远也无法输入了,合法的话,如果你在输入完成之后判断,那么如果此时用户直接提交又是非法了,还有 .... 此需求太苛刻,没时间考虑那么多   
 一个本来 onchange 事件可以搞定,非要那么复杂 ....
------解决方案--------------------up
------解决方案--------------------mark
------解决方案--------------------不一定要在输入的时候判断吧?
------解决方案--------------------Eri(NULL) ( ) 信誉:99  2007-8-9 21:04:56  得分: 0   
 键盘检测都解决不了 粘贴的,所以楼主的要求不能100%满足。   
 ------------------------------------------------------- 
 onclick?