方式一:拿到value值以后 在你传递之前处理

function stripscript(value) {
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]")
var rs = "";
for (var i = 0; i < value.length; i++) {
rs = rs+s.substr(i, 1).replace(pattern, '');
}
return rs;
}

直接调用这个函数即可 。

方式二:从最根本上也就是提示用户输入不了特殊字符

function showKeyPress(evt) {
evt = (evt) ? evt : window.event
return checkSpecificKey(evt.keyCode);
}

function checkSpecificKey(keyCode) {
var specialKey = "[`~!#$^&*()=|{}':;',\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“'。,、?]‘’";//Specific Key list
var realkey = String.fromCharCode(keyCode);
var flg = false;
flg = (specialKey.indexOf(realkey) >= 0);
if (flg) {
// alert('请勿输入特殊字符: ' + realkey);
return false;
}
return true;
}
document.onkeypress = showKeyPress;

使用:在input控件上加入事件  οnkeypress="showKeyPress()",他会输入的时候 根本没反应

这个好像有点小问题 中文状态下没反应 不知道怎么回事  所以又找了一种

方式三:onkeyup事件 拿到以后去匹配 跟方式一类似

function ValidateValue(textbox) {
var IllegalString = "[`~!#$^&*()=|{}':;',\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“'。,、?]‘’";
var textboxvalue = textbox.value;
var index = textboxvalue.length - 1;

var s = textbox.value.charAt(index);

if (IllegalString.indexOf(s) >= 0) {
s = textboxvalue.substring(0, index);
textbox.value = s;
}

}

使用: onkeyup = "ValidateValue(this)" 他会输入以后会立马消失,用户是可以看得到我输入的 只是说输入以后就没了,弊端是连续输入就不会消失了(按住不动)

接下来最牛逼的一种 中和以上方式

方式四:直接在控件上使用正在

// <input οnkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
// 控制输入框只能输入文字或数字,也可以不允许输入特殊字符 这里不允许输入如下字符: (像 !@#$%^&* 等)<br>

这种方式用户可以看到输入了会立马消失 跟方式三差不多 但连续输入是有效的

最新文章

  1. Nginx+PHP On windows
  2. 有用的git建议
  3. java9
  4. 完全迁移到red hat来的相关问题解决和配置
  5. Winedt打开tex文件报错error reading的解决方案
  6. 编译ITK
  7. 踏着前人的脚印学hadoop&mdash;&mdash;ipc中的Client
  8. window内存管理与内存原理
  9. QR code 乱谈(一)
  10. 浅析const标识符在C++函数的功能
  11. Java 垃圾回收机制学习
  12. [SCOI2005]骑士精神
  13. TreeSet集合的自然排序与比较器排序、Comparable接口的compareTo()方法
  14. Web中的四大作用域对象
  15. extern “C”的作用详解
  16. P3216 [HNOI2011]数学作业 (矩阵快速幂)
  17. Installing Node.js via package manager | Node.js
  18. bzoj 4069~4071 APIO2015
  19. Yii框架2.0的模型
  20. vue环境中生成二维码

热门文章

  1. 实体类(VO,DO,DTO)的划分
  2. MySql workbeach 更改侧边栏大小
  3. Web实现前后端分离,前后端解耦
  4. redis运维手册
  5. mysql查看系统参数
  6. Laravel的Nginx重写规则--让路由支持末尾加斜线
  7. Java内部类(3):局部内部类
  8. wdScrollTab
  9. 四、VSCode调试vue项目
  10. Linux(CentOS)下安装tesseract-ocr以及配置依赖leptonica