input 禁止输入特殊字符的四种实现方式
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">昨天项目搜索的时候报错,蛋疼的是生产库中的,看了下日志,原因是用户搜索的时候输入了特殊字符,没办法最快捷的办法是直接把用户输入的数据进行筛选,去掉特殊字符</span>
有些特殊字符传入到后台是会产生错误的 有可能会sql注入,所以从根本上拦截
狼蚁网站SEO优化一起探讨下input禁止输入特殊字符的方式
方式一拿到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控件上加入事件 根本没反应
这个好像有点小问题 中文状态下没反应 不知道怎么回事 所以又找了一种
方式三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 /[\W]/g,'') "/[^\d]/g,''))"> // 控制输入框只能输入文字或数字,也可以不允许输入特殊字符 这里不允许输入如下字符: (像 !@#$%^& 等)<br>
这种方式用户可以看到输入了会立马消失 跟方式三差不多 但连续输入是有效的
狼蚁网站SEO优化看下js里面判断输入的字符不可为特殊字符
一、document.onkeypress事件是当输入一个字符的时候就进行校验,校验时执行函授showKeyPress,返回true的时候可输入,false不可输入。
二、evt = (evt) ? evt : window.event,是按下键盘就产生此事件获得你键入的值(是键盘的keyCode)。
var realkey = String.fromCharCode(keyCode);
String.fromCharCode()方法是把键盘值(keyCode)转换成你真实输入的值。
三、方法specialKey.indexOf(realkey)
.indexOf()是String的方法,字符串的IndexOf()方法搜索在该字符串上是否出现了作为参数传递的字符串,如果找到字符串,则返回字符的起始位置 (0表示第一个字符,1表示第二个字符依此类推)如果说没有找到则返回 -1
四、var specialKey = "#$%\^\'\"\+";
这里是带转义符的字符串,#、$、%、^、、'、"、+ 这些符号是特殊符号,其中前面带\的是需要转义的。
如果要在当个文本框中加限制输入特殊符号,用<input type="text" id="name" onkeypress="showKeyPress()">
以上所述是长沙网络推广给大家介绍的input 禁止输入特殊字符的四种实现方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程