<input type=text  onkeypress="return event.keyCode>=48&&event.keyCode<=57" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false"
 style="font-family:Verdana; font-size: 9pt;float: left;ime-mode:disabled"
 maxlength=4 onkeyup="value=value.replace(/^0*/, '')">

解决方案 »

  1.   

    <input type=text  onkeypress="return keypress(this);" onpaste="return paste(this);" ondragenter="return false"  style="font-family:Verdana; font-size: 9pt;float: left;ime-mode:disabled">
    <script>
    function keypress(obj){
    if(event.keyCode<48||event.keyCode>57)return false;
    if(obj.value.length>=4)return false;
    }
    function paste(obj){
    if(clipboardData.getData('text').match(/^[\d]{1,4}$/)==null)
      return false;
    if(obj.value.length+clipboardData.getData('text').length>4)return false;
    }
    </script>
      

  2.   

    <input type=text  onkeypress="return event.keyCode>=48&&event.keyCode<=57" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false"  style="font-family:Verdana; font-size: 9pt;float: left;ime-mode:disabled" onblur="if(this.value.substr(0,1)=='0')this.focus()" maxlength=4>
      

  3.   

    meizz(梅花雪),有一个问题,这样的话把方向键给屏蔽了,如何解除?
      

  4.   

    没有问题呀, 我只是在 onkeypress 事件里判断 keycode 不会屏蔽方向键的呀
      

  5.   

    如果把你加上的去掉的话 onkeyup="value=value.replace(/^0*/, '')",方向键就可以了,好像问题还在这里
      

  6.   

    用keyup还是可以粘贴0到最前面的
      

  7.   

    ttyp所说的问题确实存在, 再改一下吧:
    <input type=text  onkeypress="return event.keyCode>=48&&event.keyCode<=57" 
     onpaste="var s=clipboardData.getData('text'); if(!/\D/.test(s)) value=s.replace(/^0*/,''); return false;"
     ondragenter="return false"
     style="font-family:Verdana; font-size: 9pt;float: left;ime-mode:disabled"
     maxlength=4 onkeyup="value=value.replace(/^0*/, '')">
      

  8.   

    方向键(就是上下左右的四个键)真的不可以用, meizz(梅花雪)再试一下
      

  9.   

    <input type=text  onkeypress="return event.keyCode>=48&&event.keyCode<=57" 
     onpaste="var s=clipboardData.getData('text'); if(!/\D/.test(s)) value=s.replace(/^0*/,''); return false;"
     ondragenter="return false"
     style="font-family:Verdana; font-size: 9pt;float: left;ime-mode:disabled"
     maxlength=4 onkeyup="if(/(^0+)/.test(value))value=value.replace(/^0*/, '')">不好意思, 在 editplus 里预览和在浏览器里直接测试竟然有偏差, :$