<input type=text onkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">

解决方案 »

  1.   

    To ttyp 你的代码还是有些BUG的, 你试试看, 可以输入中文呀:<input onkeypress="return event.keyCode>=48&&event.keyCode<=57"
     onpaste="return !clipboardData.getData('text').match(/\D/)"
     ondragenter="return false" style="ime-mode:disabled">
      

  2.   

    输入法禁止了呀,到是如果是整数&&event.keyCode<=57可以不要
      

  3.   

    错,是this.value.indexOf('.')<0?event.keyCode==46:false)"
      

  4.   

    style="ime-mode:disabled"  
    你不加这句, 你就禁止不了输入法的, 因为你在 onkeypress 里判断不了中文输入的 keyCode 的.
      

  5.   

    谢谢楼上各位,请问
    this.value.indexOf('.')<0?event.keyCode==46:false)"
    这句是做什么用的?还有呀,如果在一个INPUT里我想输入字符串但禁止输入英文的逗号,点,引号等字符要怎么弄呢?
      

  6.   

    我的是判断输入数字的,this.value.indexOf('.')<0?event.keyCode==46:false)是判断是否只有一个小数点
      

  7.   

    谢谢ttyp,可否帮我弄一个提示输入字符串但禁止输入特殊字符的呢?或者给点提示也好
      

  8.   

    <input onkeypress="return /\w/.test(String.fromCharCode(event.keyCode))"
     ondragenter="return false" style="ime-mode:disabled">
      

  9.   

    用正则
    <input onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" onBlur=="this.value=this.value.replace(/[^0-9]/g,'');">
    最近才学的,高效率啊
      

  10.   

    function OnAgeInput( sender, args ){ if( ( sender.value > 150 || sender.value < 0 ) || isNaN( sender.value ) == true  ){ window.alert( 'Student age must be 0 ~ 150 and now change to default for your wrong input !' ); sender.value = 20; } }