<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><BODY>
<input type=text name=aa onkeyup="test();"><script>
function test(){
   var v=document.all('aa').value;
   if(v.search(/[^0-9]/g)!=-1){
      alert("只能是数字");
   }else{
  if(parseInt(v)>100){
alert("不能超过100");
  }
   }
}
</script>
</BODY>
</HTML>

解决方案 »

  1.   

    修改为:(注意: 仅能处理一次输入一个字符的情况 , 同时按住键盘两个键输入两个非法字符则只能回退一个)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD><BODY>
    <input type=text name=aa onkeyup="test();"><script>
    function test(){
       var v=document.all('aa').value;
       if(v.search(/[^0-9]/g)!=-1){
          alert("只能是数字");
      document.all('aa').value=v.substring(0,v.length-1);
       }else{
      if(parseInt(v)>100){
    alert("不能超过100");
    document.all('aa').value=v.substring(0,v.length-1);
      }
       }
    }
    </script>
    </BODY>
    </HTML>
      

  2.   

    <input type=text name=aa onkeyup="test();"><script>
    function test()
    {
    var v=document.all.aa.value;
       if(isNaN(v) || parseInt(v)>100)
       {
        alert("error");
        document.all.aa.value='99';
       }
    }
    </script>