<input type="text" id="textbox" onblur="test()"/><script language="javascript">
<!--
function test()
{
if(/^-?\d+(\.\d+)?$/.test(textbox.value))
    alert("合法!");
else
alert('非法!');
}
//-->
</script>

解决方案 »

  1.   

    真是傻得可以哦只要用isNaN判断一下是不是数字就可以了,还要用什么正则表达式。。可笑。。<input type="text" id="textbox" onchange="if(isNaN(value))value='';"/>当文本框被更新时而内容为非数字时置空文本框。
      

  2.   

    如果允许第一位为小数点,可以用isNaN
      

  3.   

    倒是可以结合isNaN
    function isfloat(v){
      return !isNaN(v) && v.charAt(0)!='.';
    }
      

  4.   

    http://community.csdn.net/Expert/TopicView1.asp?id=4229892