<input onpropertychange="if(/\D/.test(value))value=value.replace(/\D/g,'')">

解决方案 »

  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.   

    //禁止输入所有标点
    //使用方法: onKeypress="Keypress_err()"
    function Keypress_err()
    {
    if ((event.keyCode>=48 && event.keyCode<=57)||(event.keyCode>=65 && event.keyCode<=90)||(event.keyCode>=97 && event.keyCode<=122)){return true};
    event.returnValue = false;
    }
    //只允许输入数字
    //使用方法: onKeypress="Keypress_err_1()"
    function Keypress_err_1()
    {
    if (event.keyCode>57 || event.keyCode<48) event.returnValue = false;
    }
    //只允许输入数字及 - 号
    //使用方法: onKeypress="Keypress_err_2()"
    function Keypress_err_2()
    {
    if ((event.keyCode>57 || event.keyCode<48) && event.keyCode!=45) event.returnValue = false;
    }
      

  3.   


    <input onkeypress="if((event.keyCode<48||event.keyCode>57) && event.keyCode!=45){ alert('只能输入数字和-号');  return false;}">
      

  4.   

    http://expert.csdn.net/Expert/topic/1238/1238516.xml
      

  5.   

    <HTML>
    <HEAD><TITLE>简单验证</TITLE>
    <SCRIPT LANGUAGE="VBScript"> 
    <!--
    Sub Submit_OnClick
      Dim TheForm
      Set TheForm = Document.ValidForm
      If IsNumeric(TheForm.Text1.Value) Then
        If TheForm.Text1.Value < 1 Or TheForm.Text1.Value > 10 Then
          MsgBox "请输入一个 1 到 10 之间的数字。"
        Else
          MsgBox "谢谢。"
      TheForm.Submit
        End If
      Else
        MsgBox "请输入一个数字。"
      End If
    End Sub
    -->
    </SCRIPT>
    </HEAD>
    <BODY>
    <H3>简单验证</H3><HR>
    <FORM NAME="ValidForm">
    请输入一个 1 到 10 之间的数字:
    <INPUT NAME="Text1" TYPE="TEXT" SIZE="2">
    <INPUT NAME="Submit" TYPE="BUTTON" VALUE="提交">
    </FORM>
    </BODY>
    </HTML>