1. 程式人生 > >js過濾特殊字元

js過濾特殊字元

轉自:http://blog.csdn.net/you23hai45/article/details/21120119

JavaScript過濾特殊字元

1、設計例項

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"
    />
  5. <title>JavaScript過濾特殊字元</title>
  6. <styletype="text/css">
  7.     body{  
  8.         width:80%;  
  9.         background-color:#FFC;  
  10.         height:100px;  
  11.         font-size:14px;  
  12.         font-family:"Times New Roman", Times, serif;  
  13.         font-stretch:expanded;  
  14.         font-style:inherit;  
  15.         font-variant:inherit;  
  16.         font-weight:bold;  
  17.     }  
  18.     #div1{  
  19.         text-align:center;  
  20.         width:100%;  
  21.         height:100%;  
  22.         line-height:inherit;  
  23.     }  
  24.     #btn{  
  25.         font:Georgia, "Times New Roman", Times, serif;  
  26.         font-size-adjust:inherit;  
  27.         font-weight:bold;  
  28.         background-color:#C96;  
  29.         alignment-adjust:after-edge;  
  30.         alignment-baseline:baseline;  
  31.         word-break:break-all;  
  32.         width:120px;  
  33.         height:30px;  
  34.         font-size:16px;  
  35.         animation:ease;  
  36.     }  
  37. </style>
  38. <scripttype="text/javascript">
  39.     /**  
  40.       * 過濾字串函式  
  41.       **/  
  42.     function filterStr(str)  
  43.     {  
  44.         var pattern = new RegExp("[`[email protected]#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_]");  
  45.         var specialStr = "";  
  46.         for(var i=0;i<str.length;i++)  
  47.         {  
  48.              specialStr += str.substr(i, 1).replace(pattern, '');   
  49.         }  
  50.         return specialStr;  
  51.     }  
  52.     /**  
  53.       * 檢測過濾字串函式  
  54.       **/  
  55.     function checkStr()  
  56.     {  
  57.         var str = document.getElementById("pContent").innerHTML;  
  58.         alert("過濾之前的字串:" + str);  
  59.         str = filterStr(str);  
  60.         alert("過濾之後的字串:" + str);  
  61.     }  
  62. </script>
  63. </head>
  64. <body>
  65.    <divid="div1">
  66.       <pid="pContent">張三huhnjhj$%$^%^%&^*&<>?{}{{[]()_+|@~`$378748hyfgtyt35451fdhjdsh&%^^&$#%%&^^*&(*%$%$f4857485</p>
  67.       <inputtype="button"id="btn"name="btn"value="過濾"onclick="checkStr()"/>
  68.    </div>
  69. </body>
  70. </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