正则表达式:
var p=/[0-9]/

解决方案 »

  1.   

    may be you can use the script like this:<input type="text" name="yourFieldName" onkeyup="if(isNaN(this.value))this.value=''">
      

  2.   

    用正则表达式
    <script language="javascript">
    fucntion checkfrm()
    {
      var filer= /^\d+$/;
      if (!filter.test(document.frm.txt.value)) {
      alert('只能为数字);
      document.frm.txt.focus();
      document.frmA.txt.select();
      return false;}
      }
    </script>
      

  3.   

    给出 我用过得绝对可行的方法,
    用正则式
    如下:
    <script language="javascript">
    function strim(s)
    {
      var r, re;
      re = /\s/g;
      r = s.replace(re, "");
      return(r);
    }
    function snum(s)
    {
      var r, re;
      re = /\d/g;
      r = s.replace(re, "");
      return(r);
    }
    </script>
    下面是用法:
    if (strim(this.document.form1.tel.value)!="")
    {
    if (snum(strim(this.document.form1.tel.value))!="")
    {
    alert("请检查手机号输入是否正确");
    this.document.form1.tel.focus();
    return false;
    }
    }
    strim()是去掉首尾的空格;snum()是把数字过滤掉;
    两个函数作用后,只留下非数字的字符;
      

  4.   

    可以输入一个小数点,和可以使用退格,
    <script language ='javascript'>
    <!--
    function checkkey(){
             var key = event.keyCode;
             if( (key > 95 && key < 106) ||
                 (key > 47 && key < 60) ||
                 (key == 110 && yourFieldName.value.indexOf(".") < 0 )||
                 (key == 190 && yourFieldName.value.indexOf(".") < 0 )){
                 
             }else if(key != 8){
                alert(key);
                event.returnValue = false;
              }
    }
    //-->
    </script>
    <input type="text" name="yourFieldName" onkeydown=checkkey(); >