1. 程式人生 > 資料庫 >Java防止SQL注入2(通過filter過濾器功能進行攔截)

Java防止SQL注入2(通過filter過濾器功能進行攔截)

技術標籤:正則表示式javascript

文章目錄

前言

要學習正則表示式,首先我們需要知道什麼是正則表示式,它的作用是什麼,最後我們需要在哪裡使用它

一、正則表示式是什麼?

正則表示式的全名是regular expression
雖然看起來正則特別亂特別複雜,但實際上它是一個有規則的表示式,而它的的作用就是用一段程式碼來表示一個區域的字元,然後通過它來匹配查詢你需要的內容,簡而言之,正則表示式就是一個用於查詢的含有匹配字串或匹配元字元的字串。

二、建立正則表示式

正則表示式的建立方式有兩種:

第一種是使用建構函式new RegExp來建立:
var reg = new RegExp( 正則表示式字串[, 匹配模式] );
第二種就是字面量來建立:
var reg = /正則表示式/;
一般我們使用第二種,這種方式書寫簡介明瞭,當然,兩種建立方式的效果是一樣的。

三、字元

3.1 基本元字元

.       //表示任一個非換行的字元
()		//表示分組和提高優先順序
[]		//表示一個字元, 出現在 [] 中的任意一個字元
|		//或著,表示兩個正則表示式只要滿足一個就可以

3.2 限定元字元

 *	緊跟前面的一個字元或一組字元出現 0 次到多次
 +		緊跟在前面的字元出現 1
次到多次 ? 緊跟在前面的字元出現 0 次或 1{數字} 緊跟在前面的字元出現指定次數 {數字,} 緊跟在前面的字元至少出現指定次數 {數字, 數字} 緊跟在前面的字元出現的次數範圍

3.3 首尾

^ 表示必須以 xxx 開頭
 $ 表示必須以 xxx 結尾

四、正則表示式的使用

匹配方法: 正則表示式.test(字串)
舉幾個簡單例子:

1.正則表示式匹配手機號:

        //手機號
        //首先,手機號碼1開頭,所以^1來表示
        //[0-9]{9}表示接下來的9位數都是0-9之間的數字包括0和9
        //[0-9]$表示數字結尾
        var
reg = /^1[0-9]{9}[0-9]$/ //然後輸入一個11位數的手機號,我隨即輸入的 var str = "15256865165" //控制檯輸出 ,true表示匹配成功,false表示不匹配 console.log(reg.test(str));

在這裡插入圖片描述
顯示的是true,說明匹配成功了,如果顯示的false就說明我們的字串與正則不匹配,這樣我們就可以通過正則來判斷出入的字串是否符合我們的需求了

2.匹配密碼

//密碼
        //^[a-zA-Z]以字母開頭
        //[0-9a-zA-Z]{5,11}$字母數字皆可,$限制密碼位數,6-12位
        var reg = /^[a-zA-Z][0-9a-zA-Z]{5,11}$/;
        var str = "a145435163";
        console.log(reg.test(str));

總結

正則表示式主要使用在匹配資訊,特別是註冊、登入、驗證這些需要錄入重要資訊的地方,基本上都會使用正則來做判斷,所以正則表示式在書寫時要求特別嚴格,絕不能犯錯。