jsフィルタ特殊文字
6679 ワード
回転:http://blog.csdn.net/you23hai45/article/details/21120119
JavaScript特殊文字のフィルタ
1、設計例
[html view plain copy
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">>
>
JavaScriptフィルタ特殊文字title> </li> <br><style type="text/css"> </li> <br> body{ </li> <br> width:80%; </li> <br> background-color:#FFC; </li> <br> height:100px; </li> <br> font-size:14 px </li> <br> font-family:"Times New Roman", Times, serif; </li> <br> font-stretch:expanded; </li> <br> font-style:inherit; </li> <br> font-variant:inherit; </li> <br> font-weight:bold; </li> <br> } </li> <br> #div1{ </li> <br> text-align:center; </li> <br> width:100%; </li> <br> height:100%; </li> <br> line-height:inherit; </li> <br> } </li> <br> #btn{ </li> <br> font:Georgia, "Times New Roman", Times, serif; </li> <br> font-size-adjust:inherit; </li> <br> font-weight:bold; </li> <br> background-color:#C96; </li> <br> alignment-adjust:after-edge; </li> <br> alignment-baseline:baseline; </li> <br> word-break:break-all; </li> <br> width:120px; </li> <br> height:30px; </li> <br> font-size:16px; </li> <br> animation:ease; </li> <br> } </li> <br>style> </li> <br><script type="text/javascript"> </li> <br> /** </li> <br> * 文字列関数のフィルタ </li> <br> **/ </li> <br> function filterStr(str) </li> <br> { </li> <br> var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'.,、?%+_]"); </li> <br> var specialStr = ""; </li> <br> for(var i=0;i<str.length;i++) </li> <br> { </li> <br> specialStr += str.substr(i, 1).replace(pattern, ''); </li> <br> } </li> <br> return specialStr; </li> <br> } </li> <br> </li> <br> /** </li> <br> * フィルタ文字列関数の検出 </li> <br> **/ </li> <br> function checkStr() </li> <br> { </li> <br> var str = document.getElementById("pContent").innerHTML; </li> <br> alert(「フィルタ前の文字列:」 + str); </li> <br> str = filterStr(str); </li> <br> alert(「フィルタ後の文字列:」 + str); </li> <br> } </li> <br>script> </li> <br>head> </li> <br> </li> <br><body> </li> <br> <div id="div1"> </li> <br> <p id="pContent">張三huhnjhj$%$^%^%&^*&<>?{{[[]()+|@~`$378748 hyfgyt 35451 fdhjdsh&%^&$%&^*&(*%$%$f 4857485 p> </li> <br> <input type="button" id="btn" name="btn" value=フィルタ onclick="checkStr()"/> </li> <br> div> </li> <br>body> </li> <br>html> </li> <br>2、設計結果<br>(1)初期化時<br><a href="https://img.md5.com/image/info8/d784f464bb144995bf95e1ec5a99e86a.jpg" rel="noreferrer noopener nofollow"><img src="https://s1.md5.ltd/image/56545b82c325c56e5ad9f966d710dd8e.jpg" width="650" height="72" alt="" style="border:none;" class="check_url_is_full"/></a><br>(2)「フィルタ」ボタンをクリック<br><a href="https://img.md5.com/image/info8/12066216d0084b7d820412d01e986b1a.jpg" rel="noreferrer noopener nofollow"><img src="https://s1.md5.ltd/image/3df1b21503996cadbc6a53edcbb6cbd1.jpg" width="650" height="227" alt="js过滤特殊字符_第1张图片" style="border:none;;border:1px solid black;" class="check_url_is_full"/></a><br>(3)「OK」ボタンをクリックした後<br><a href="https://img.md5.com/image/info8/5a5726cd2dba485b8e522242e41a34b9.jpg" rel="noreferrer noopener nofollow"><img src="https://s1.md5.ltd/image/884c73734ff763b38dd7022f73cbdbd3.jpg" width="650" height="253" alt="js过滤特殊字符_第2张图片" style="border:none;;border:1px solid black;" class="check_url_is_full"/></a><br>3、説明<br> JavaScriptは正規表現で特殊文字をフィルタリングします.肝心な点は正規表現の正確性と完全性で、よくある特殊文字がフィルタリングできることを保証します.<br> しかし、この正規表現には「」という特殊文字をフィルタリングできないという弊害がある.<br>カスタム:<br>chromeブラウザでjs正規表現の簡単なテストを行うことができます.<pre><code>匹配数字:
(/^([0-9]+)$/.test("123"))
匹配非数字:
(/^([^\d]+)$/.test("123"))
非数字非*号
(/^([^\d\*]+)$/.test("123abc*"))
false
(/^([^\d\*]+)$/.test("abc*"))
false
(/^([^\d\*]+)$/.test("abc"))
true
不能是以下特殊符号:
[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_]
(/^([^\~\!\@\#\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\.\/]+)$/.test("abc"))
(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\.\\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+\_]+)$/.test("abc"))
true
s1 = "abc\"test\""
"abc"test""
s1
"abc"test""
(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\.\\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+\_]+)$/.test(s1))
false
上述特殊符号中允许使用\.\_\-
(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+]+)$/.test(s1))
</code></pre>
JavaScript特殊文字のフィルタ
1、設計例
[html view plain copy
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">>
>