失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > js过滤特殊字符

js过滤特殊字符

时间:2024-03-13 10:56:16

相关推荐

js过滤特殊字符

转自:/you23hai45/article/details/2119

JavaScript过滤特殊字符

1、设计实例

[html]view plain copy <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="/1999/xhtml"> <head> <metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> <title>JavaScript过滤特殊字符</title> <styletype="text/css"> body{ width:80%; background-color:#FFC; height:100px; font-size:14px; font-family:"TimesNewRoman",Times,serif; font-stretch:expanded; font-style:inherit; font-variant:inherit; font-weight:bold; } #div1{ text-align:center; width:100%; height:100%; line-height:inherit; } #btn{ font:Georgia,"TimesNewRoman",Times,serif; font-size-adjust:inherit; font-weight:bold; background-color:#C96; alignment-adjust:after-edge; alignment-baseline:baseline; word-break:break-all; width:120px; height:30px; font-size:16px; animation:ease; } </style> <scripttype="text/javascript"> /** *过滤字符串函数 **/ functionfilterStr(str) { varpattern=newRegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_]"); varspecialStr=""; for(vari=0;i<str.length;i++) { specialStr+=str.substr(i,1).replace(pattern,''); } returnspecialStr; } /** *检测过滤字符串函数 **/ functioncheckStr() { varstr=document.getElementById("pContent").innerHTML; alert("过滤之前的字符串:"+str); str=filterStr(str); alert("过滤之后的字符串:"+str); } </script> </head> <body> <divid="div1"> <pid="pContent">张三huhnjhj$%$^%^%&^*&<>?{}{{[]()_+|@~`$378748hyfgtyt35451fdhjdsh&%^^&$#%%&^^*&(*%$%$f4857485</p> <inputtype="button"id="btn"name="btn"value="过滤"onclick="checkStr()"/> </div> </body> </html>

2、设计结果

(1)初始化时

(2)单击“过滤”按钮

(3)单击“确定”按钮后

3、说明

JavaScript利用正则表达式过滤特殊字符,关键之处是正则表达式的正确性和完整性,保证常见特殊字符都可以过滤掉。

但是,这个正则表达式有一个弊端,不能过滤掉“\”特殊字符。

自定义:

在chrome浏览器中可以进行js正则表达式的简单测试:

匹配数字:(/^([0-9]+)$/.test("123"))匹配非数字:(/^([^\d]+)$/.test("123"))非数字非*号(/^([^\d\*]+)$/.test("123abc*"))false(/^([^\d\*]+)$/.test("abc*"))false(/^([^\d\*]+)$/.test("abc"))true不能是以下特殊符号:[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_](/^([^\~\!\@\#\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\.\/]+)$/.test("abc"))(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\.\<\>\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+\_]+)$/.test("abc"))trues1 = "abc\"test\"""abc"test""s1"abc"test""(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\.\<\>\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+\_]+)$/.test(s1))false上述特殊符号中允许使用\.\_\-(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\<\>\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+]+)$/.test(s1))

如果觉得《js过滤特殊字符》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。