<script>
alert(/^[,0-9]+$/.test("123"))
alert(/^[,0-9]+$/.test("12,3"))
alert(/^[,0-9]+$/.test("123a"))
alert(/^[,0-9]+$/.test("123,"))
</script>

解决方案 »

  1.   

    <input type="text" onpropertychange='this.value=this.value.replace(/[^,0-9]/g,"")' oninput='this.value=this.value.replace(/[^,0-9]/g,"")'>
      

  2.   

    <input type="text" onpropertychange='this.value=this.value.replace(/[^,0-9]/g,"")' oninput='this.value=this.value.replace(/[^,0-9]/g,"")'>
      

  3.   

    <script>
    function aa(a){
       if(/[^,0-9]/g.test(a.value)){
          a.value=a.value.replace(/[^,0-9]/g,"")
       }
    }
    </script>
    <input type="text" onpropertychange='aa(this)' oninput='this.value=this.value.replace(/[^,0-9]/g,"")'>估计是死循环了
      

  4.   

    参考
    <input name="expenses" type="text" onKeyPress="return Checknumber(1,event);"/>
    function Checknumber(ActionFlag,event)
    {
    var key = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;

    switch (ActionFlag)
    {
    case 1 ://允许小数
    if(key>=48&&key<=57||key==46||key==8){return true;}else{return false;}
    break;
    case 2 ://允许负数
    if(key>=48&&key<=57||key==45||key==8){return true;}else{return false;}
    break;
    case 3 ://只允许正整数
    if(key>=48&&key<=57||key==8){return true;}else{return false;}
    break;
    default :
    return true;

    }