<input name="haha" onblur="if(!/^[0-9,\-]*$/.test(this.value)){alert('错误');this.value=''}">

解决方案 »

  1.   

    <input type="text" name="" onkeyup="if(!(/^[0-9,\-]+$/.test(this.value)))this.value=''">
      

  2.   

    <INPUT   type="text"   id=text1   name=text1   onblur="if(this.value.match(/[0-9]/)!=this.value){alert('请输入合法字符!   
      ');this.focus();}">
      

  3.   

    <html>
    <head>
    <title>Javascript正则表达式</title>
    </head>
    <body>
    <script >
    function regex()
    {
    var regex=/^[0-9,\-]+$/;
    var str = document.form1.name1.value;
    var result = regex.test(str);
    alert(result);
    }
    </script>
    <form name=form1>
    <input type=text name=name1 >
    <input type=button onClick="regex()" value="test">
    </form>
    </body>
    </html>
      

  4.   

    谢谢,但问题还没解决,呀,
    <input type="text" name="" onkeyup="if(!(/^[0-9,\-]+$/.test(this.value)))this.value=''">
    这代码要改成,因为前面输入的数字是合法,当输入一个不合法的字符时,那些合法的数字也都清除了....
      

  5.   

    把上面的语句潜换成replace的怎么写法??
    哎,有空我得要学习一下JS  正则
      

  6.   

    if(/[^0-9,\-]/g.test(value)==true){
      alert('不符合要求');
    } else {
      alert('符合要求');
    }
      

  7.   

    把<input type="text" name="" onkeyup="if(!(/^[0-9,\-]+$/.test(this.value)))this.value=''">里的this.value=''改一下呗.
      

  8.   

    <input type=text name=name1 onkeyup="value=value.replace(/^([^0-9,\-]+)$/,'')">
      

  9.   

    OK搞定了,谢谢,,有空我要学习JS
      

  10.   


    <input type="text" name="" onkeyup="if(!(/^[0-9,\-]+$/.test(this.value)))this.value=''">  
    这个,你一直按着某个键,然后按下鼠标,然后放开按键,然后再释放鼠标左键,你看看...