js 文本框 (input)禁止输入

2019-01-14  本文已影响0人  ThisWu

先简单说明下键盘事件:

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,'')" />

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

上一篇下一篇

猜你喜欢

热点阅读