美文网首页
js 文本框 (input)禁止输入

js 文本框 (input)禁止输入

作者: ThisWu | 来源:发表于2019-01-14 11:14 被阅读0次

    先简单说明下键盘事件:

    keydown事件
    按下键盘上的任意键触发;按住不放,重复触发。

    keypress事件
    按下键盘上的字符键触发;按住不放,重复触发。
    按下Esc键也会触发这个事件。

    keyup事件
    释放键盘上的键时触发。

    触发顺序
    (1)当按下键盘上的一个字符键时,首先触发keydown事件,然后紧跟着keypress事件,最后会触发keyup事件。其中,keydown和keypress事件是在文本框发生变化之前触发;而keyup事件则是在文本框发生变化之后触发的。
    (2)当按下键盘上的一个非字符键,那么首先触发keydown事件, 然后是keyup事件。

    JS 控制不能输入特殊字符

     <input type="text"class="domain"onkeyup="this.value=this.value.replace(/[^u4e00-u9fa5w]/g,'')" />
    

    JS 控制文本框只能输入数字

      <input onkeyup="value=value.replace(/[^0-9]/g,'')" onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu = "value=value.replace(/[^0-9]/g,'')">
    

    JS 控制文本框只能输入数字、小数点

      <input onkeyup="value=value.replace(/[^\0-9\.]/g,'')" onpaste="value=value.replace(/[^\0-9\.]/g,'')" oncontextmenu = "value=value.replace(/[^\0-9\.]/g,'')">
    

    JS 控制文本框只能输入英文

      <input onkeyup="value=value.replace(/[^\a-\z\A-\Z]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z]/g,'')">
    

    JS 控制文本框只能输入英文、数字

      <input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')">
    

    JS 控制文本框只能输入中文

      <input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onpaste="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" oncontextmenu = "value=value.replace(/[^\u4E00-\u9FA5]/g,'')">
    

    JS 控制文本框只能输入中文、英文、数字

      <input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')">
    

    JS 控制文本框只能输入中文、英文、数字、空格

      <input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\ ]/g,'')">
    

    JS 控制文本框只能输入中文、英文、数字、小数点

      <input onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" onpaste="value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')" oncontextmenu = "value=value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\.]/g,'')">
    

    如果只要对单个或者两三个禁止输入比如(1)【】或者(2),。

      (1)<input onkeyup="this.value=this.value.replace(/[【】]/g,'')" />
      (2)<input onkeyup="this.value=this.value.replace(/[,。]/g,'')" />
    

    以上代码是根据网上查找的资料与自己的部分心得记录。不喜勿喷。

    相关文章

      网友评论

          本文标题:js 文本框 (input)禁止输入

          本文链接:https://www.haomeiwen.com/subject/zmrddqtx.html