Java防止SQL注入2(通過filter過濾器功能進行攔截)
阿新 • • 發佈:2020-12-03
技術標籤:正則表示式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));
總結
正則表示式主要使用在匹配資訊,特別是註冊、登入、驗證這些需要錄入重要資訊的地方,基本上都會使用正則來做判斷,所以正則表示式在書寫時要求特別嚴格,絕不能犯錯。