js過濾特殊字元
轉自:http://blog.csdn.net/you23hai45/article/details/21120119
JavaScript過濾特殊字元
1、設計例項
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <htmlxmlns="http://www.w3.org/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:"Times New Roman", 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, "Times New Roman", 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">
- /**
- * 過濾字串函式
- **/
- function filterStr(str)
- {
- var pattern = new RegExp("[`[email protected]#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_]");
- var specialStr = "";
- for(var i=0;i<str.length;i++)
- {
- specialStr += str.substr(i, 1).replace(pattern, '');
- }
- return specialStr;
- }
- /**
- * 檢測過濾字串函式
- **/
- function checkStr()
- {
- var str = 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
不能是以下特殊符號:
[`[email protected]#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_]
(/^([^\~\!\@\#\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\.\/]+)$/.test("abc"))
(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\.\<\>\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+\_]+)$/.test("abc"))
true
s1 = "abc\"test\""
"abc"test""
s1
"abc"test""
(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\.\<\>\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+\_]+)$/.test(s1))
false
上述特殊符號中允許使用\.\_\-
(/^([^\`\~\!\@\#\$\^\&\*\(\)\=\|\{\}\'\:\;\"\,\\\[\]\<\>\/\?\~\!\@\#\¥\……\&\*\(\)\——\|\{\}\【\】\‘\;\:\”\“\'\。\,\、\?\%\+]+)$/.test(s1))
相關推薦
js過濾特殊字元
轉自:http://blog.csdn.net/you23hai45/article/details/21120119 JavaScript過濾特殊字元 1、設計例項 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1
防止javascript 注入攻擊 js過濾特殊字元
//匹配中文 數字 字母 下劃線 var checkInput = function (str) { var pattern = /^[\w\u4e00-\u9fa5]+$/gi; if(pattern.test(c)) { return false;
js遮蔽/過濾 特殊字元,輸入就刪除掉,實時刪除
1.替換方法: <input type="text" class="domain" onkeyup="this.value=this.value.replace(/[^\u4e00-\u9fa5\w]/g,'')" ; this.value=this.value.replace(/[^\u4e00-\
ser2net過濾特殊字元
許多流行的linux串列埠程式設計的版本中都沒對c_iflag(termios成員變數)這個變數進行有效的設定,這樣傳送ASCII碼時沒什麼問題,但傳送二進位制資料時遇到0x0d,0x11和0x13卻會被丟掉。不用說也知道,這幾個肯定是特殊字元,被用作特殊控制了。關掉ICRNL和IXON
js轉義特殊字元
直接上程式碼 function jsEncode(url) { if(url){ url = url.replace(/\%/g,"%25"); url = url.replace(/\s/g,"%20"); url = url.repla
Android過濾特殊字元和emoji表情
1.需求場景 現在一些輸入法自帶emoji表情,EditText是支援該字元輸入的,而對於業務來說,輸入這些字元又是不合法的,因此需要對這些字元進行過濾,在使用者輸入時即時給出提示資訊。 2.解決方法 為EditText新增輸入過濾器
php 字串過濾特殊字元
* mb_ord.php <?php class Str { public static function filter(string $s, callable $f=null, string $encoding = 'UTF-8') { $enc = mb_de
jquery過濾特殊字元',防sql注入
出自: 直接上程式碼: <script type="text/javascript" language="javascript"> $(document).ready(function() { //返回 $("#btnBack").click(
js html 特殊字元轉義
function html_encode(str) { var s = ""; if (str.length == 0) return ""; s = str.replace(/&/g, "&"); s = s.
Android 過濾特殊字元和emoji表情
網上有很多遮蔽特殊字元和表情的例子,用起來也很簡單,比如://判斷搜尋框內容是否包含特殊字元 String limitEx = "[`[email protected]#$%^&*()+=|{}':;',\\[\\].<
php防sql注入過濾特殊字元
我在PHP4環境下寫了一個防SQL注入的程式碼,經過實際使用在PHP5下也相容,歡迎大家使用修改,使用。 程式碼如下: <?php/*sqlin 防注入類*/class sqlin{//dowith_sql($value)function dowith_sql($str){ $str = str_
JS 判斷特殊字元
var orderCode=$("#orderCode").val(); var scheduledProducedUnits=$("#scheduledProducedUnits")
Java獲取字元的Unicode編碼以及如何過濾特殊字元ZWNJ
獲取Unicode編碼 package com.xs.test; public class Test { public static void main(String[] args) throw
ASP過濾特殊字元
<%Function FormatHTML(fString) If fString<>""Then fString =trim(fString) fString =replace(fString, ";", ";") '分號過濾
c#正則表示式過濾特殊字元
碰到了一個問題,要過濾字串中的|#|$|^|*|(|)|+|{|?|[|.這種字元。可是這些字元時正則表示式中的特殊字元,怎麼辦呢?有兩種辦法。 主要的思路是把 類似 “*” “[”的Relpace 為“\*”,"\["等 1,直接替換。 splitKey = split
正則表示式過濾特殊字元
String regEx="[`[email protected]#$%^&*()_\\-+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; Pattern
防禦SQL注入方法(2)-過濾特殊字元
防禦SQL注入的一個重要方法是對使用者輸入進行過濾,PHP中mysqli_real_escape_string(connection,escapestring)和mysqli_escape_string(connection,escapestring)函式就是對
JS過濾表單資料中的特殊字元
在我們需要提交表單的時候,我們需要過濾特殊字元。一些特殊字元如:<,”,’代表著一段程式碼的開始或者結束,如果這些插入到頁面中並且沒有轉義的話,那麼麻煩就大了,輕則造成頁面佈局的混亂。
js過濾url中的特殊字元
在URL傳遞引數中,有一些特殊字元,而這些些符號在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號,那麼就要使用他們的編碼了。 下表中列出了一些URL特殊符號及編碼十六進位制值 1. + URL 中+號表示空格 %2B 2. 空格 URL中的空格可以用+號或者
設定editText密碼可見性和特殊字元過濾
此方法中的過濾規則可以根據需求自定義,此方法還可以用於其它型別輸入檢測 private static boolean checkLegalCharacters(String name, boolean isPasswd) { Pattern