<!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>
<script language="JavaScript">
var a="1235sd66";
if(a.search(/[^0-9]/g)!=-1)
{
alert("只能输入数据!");
}
</script>
</BODY>
</HTML>

解决方案 »

  1.   

    方法一:<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 
    方法二:<input name=txt1 onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}">
    方法三:<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')">
      

  2.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <script>
    function checkIt(who){
      var s=who.T1.value;
      var re1=/\D/gi;
      if(re1.test(s)){
        alert("非法字符");
        return false;
      }else{
        return true;
      }
    }
    </script>
    </head><body>
    <form onsubmit="return checkIt(this)">
    <input type="text" name="T1"><br>
    <input type="submit" value="check input">
    </form>
    </body></html>上面的例子中使用了正则表达式re1=/\D/gi,该正则表达式匹配一个字符串中任何非数字字符,也就是说,一旦s中含有非数字字符,re1的test方法即返回true,否则返回false。