这是javascript的问题
主要是给onKeydown事件写函数就行了
具体我忘记了我的代码再什么地方了
有空我会找一下的<input type="text" onKeydown="javascript:f();">

解决方案 »

  1.   

    function chkIfNum(txtbox,msgshow)
    {
    var mystring=txtbox.value;
    if(!mystring.Isnumber())
    {
    if(msgshow.length)
    alert(msgshow + "必须是数字!请输入正确的数字!");
    else
    alert("规定该填写数字的地方没有填写数字!");
    txtbox.focus();
    return false;
    }
    }
      

  2.   

    to cd_dragon(栋栋) :
        你的代码还是不行,你再看看,msgshow参数是什么意思,前面 goodname(心灰意冷) 的那行代码是否有问题,因为我不懂javascript,请见谅!
      

  3.   

    既然不懂javascript可以 在提交之后从服务器端来判断,如果不是数字就返回该页面。具体的你可以弄三个input,判断每个input的范围,如果不是数字或者超出范围就返回。
      

  4.   

    <input type=text onkeypress="if(event.keyCode<'0' || event.keyCode>'9')event.keyCode=0;">没测过,也许好使.
      

  5.   

    判断日期和判断数字是不同的,你说清楚if(checkdate($month,$day,$year)){
      echo "合法的年月日";
    }else{
      echo "非法的年月日";
    }if(preg_match("^\d+$",$num)){
      echo "全部是数字";
    }else{
      echo "不是全部是数字";
    }
      

  6.   

    客户端用js验证:
    判断年月日:
    http://expert.csdn.net/Expert/topic/1088/1088786.xml?temp=.9306299判断数字:
    <script>
    function checkNum(num){
       return /^\d+$/.test(num);
    }
    </script>
      

  7.   

    用正则咯if(eregi("^[0-9]{1,}$",$value)){echo "true;}else{echo "输入非法字符";}
      

  8.   

    服务器短的就不必讲了,
    客户段永javascript或者vbs实现就可以了
    1.用正则表达式
    2.简明一点
    写一个函数,负责把传入的值从第一位开始遍历,
    如果第一位是-+0123456789之外的返回false
    第二位出现0123456789以外的字符返回false
    以后到结尾出现0123456789.以外的字符返回false
    另外出现.两次以上返回false麻烦点,不过容易理解