【正規表達式】
正規表達式(regular expression)又稱規則表達式。是一個描述字元模式的對象。主要用來驗證用戶端的輸入資料,使用者填寫完表單單擊按鈕之後,表單就會被發送到伺服器,在伺服器端通常會用 PHP、ASP.NET 等伺服器腳本對其進行進一步處理 。因為用戶端驗證,可以節約大量的伺服器端的系統資源,并且提供更好的使用者體驗。
正規表達式是對字元串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字元串”,這個“規則字元串”用來表達對字元串的一種過濾邏輯。
給定一個正規表達式和另一個字元串,我們可以達到如下的目的:
1. 給定的字元串是否符合正規表達式的過濾邏輯(稱作“比對”);
2. 可以通過正規表達式,從字元串中擷取我們想要的特定部分。
【特點】
1. 靈活性、邏輯性和功能性非常的強;
2. 可以迅速地用極簡單的方式達到字元串的複雜控制。
3. 對于剛接觸的人來說,比較晦澀難懂。
【建立】

第一種:
<span style="font-family:KaiTi_GB2312;font-size:18px;">var box = new RegExp('box', 'ig'); //參數是字元串、可選模式修飾符</span>
第二種:
<span style="font-family:KaiTi_GB2312;font-size:18px;">var box = /box/ig; //在第二個斜杠後面加上模式修飾符</span>
【測試】
第一種:使用test方法
<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /box/i; //建立正則模式,不區分大小寫
var str = 'This is a Box!';
alert(pattern.test(str));</span>
<span style="font-family:KaiTi_GB2312;font-size:18px;">/*<span style="font-family: KaiTi_GB2312;">使用一條語句實作正則比對</span><span style="font-family: KaiTi_GB2312;">*/</span>
alert(/box/i.test('This is a Box!')); //模式和字元串替換掉了兩個變量
</span>
第二種:使用exec傳回比對數組
var pattern = /box/i;
var str = 'This is a Box!';
<span style="font-family:KaiTi_GB2312;font-size:18px;">alert(pattern.exec(str)); //比對了傳回數組,否則傳回 null</span>
【常用的正則】
1、檢查郵政編碼
<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /[1-9][0-9]{5}/; //共 6 位數字,第一位不能為 0
var str = '224000';
alert(pattern.test(str));</span>
2、檢查檔案壓縮包
<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /[\w]+\.zip|rar|gz/; //\w 表示所有數字和字母加下劃線
var str = '123.zip'; //\.表示比對.,後面是一個選擇
alert(pattern.test(str));</span>
3、删除多餘空格
var pattern = /\s/g; //g 必須全局,才能全部比對
<span style="font-family:KaiTi_GB2312;font-size:18px;">var str = '111 222 333';
var result = str.replace(pattern,''); //把空格比對成無空格
alert(result);</span>
4、删除首尾空格
<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /^\s+/; //強制首
var str = ' goo gle ';
var result = str.replace(pattern, '');
pattern = /\s+$/; //強制尾
result = result.replace(pattern, '');
alert('|' + result + '|');
var pattern = /^\s*(.+?)\s*$/; //使用了非貪婪捕獲
var str = ' google ';
alert('|' + pattern.exec(str)[1] + '|');
var pattern = /^\s*(.+?)\s*$/;
var str = ' google ';
alert('|' + str.replace(pattern, '$1') + '|'); //使用了分組擷取</span>
5、簡單的電子郵件驗證
<span style="font-family:KaiTi_GB2312;font-size:18px;">var pattern = /^([a-zA-Z0-9_\.\-]+)@([a-zA-Z0-9_\.\-]+)\.([a-zA-Z]{2,4})$/;
var str = '[email protected]';
alert(pattern.test(str));
var pattern = /^([\w\.\-]+)@([\w\.\-]+)\.([\w]{2,4})$/;
var str = '[email protected]';
alert(pattern.test(str));</span>
【正規表達式的相關用法】
1、使用字元串的正規表達式方法:
2、擷取控制