JavaScript面向對象編程——RegExp類型

概述

正則表達式是什麼

正則表達式(RegularExpression):由一些普通字符和特殊字符組成的,用以描述一種特定的字符規則的表達式。
正則表達式經常使用在一段文本中搜索、匹配或替換特定形式的文本。好比:詞語出現頻率統計、驗證字符串是否符合郵箱格式、屏蔽一篇帖子中的限制性詞語等。正則表達式

建立正則表達式

/*
    1.字面量/直接量方式
      var 變量名 = /pattern/attributes
      * pattern - 稱爲模式,用於定義正則表達式的內容
      * attributes - 稱爲修飾符,用於定義正則表達式的行爲
 */
var reg = /123456789/i;
/*
    2.構造函數方式
      var 變量名 = new RegExp(pattern [, attributes])
      * pattern - 稱爲模式,用於定義正則表達式的內容
      * attributes - 稱爲修飾符,用於定義正則表達式的行爲
 */
var reg = new RegExp('123456789', 'i');

pattern參數:被稱爲模式,可使任何簡單或複雜的正則表達式,包含字符類、限定符、分組、向前查找以及反向引用等。
attributes參數:被稱爲修飾符,用於代表正則表達式的行爲。函數

符號

直接量字符

正則表達式中的全部字母和數字都是按照字面含義進行匹配的。JavaScript正則表達式語法也支持非字母的字符匹配,這些字符須要經過反斜線做爲前綴進行轉義。spa

clipboard.png

字符類

將直接量字符單獨放進方括號內就組成了字符類。一個字符能夠匹配它所包含的任意字符。因爲某些字符類很是經常使用,JavaScript的正則表達式中,使用特殊轉義字符表示他們。code

clipboard.png

var str = 'king';

// 正則表達式的內容中定義規則 -> 驗證的內容是否包含規則
// var reg = /123456789/;

// 正則表達式的內容中定義規則 -> 驗證的內容匹配任何字符便可
var reg = /[0123456789]/;
var reg = /[\d]/;
var reg = /[0-9]/;

var reg = /[a-zA-Z]/;

var result = reg.test(str);
console.log(result);

重複

在JavaScript中的正則表達式用來描述任意多位的數字,或者描述由三個字母和一個數字構成的字符串時,可使用字符重複耳釘標記。對象

clipboard.png

var str = 'wolong124xue3yuan';
/*
    {n, m} - 表示字符類中任意字符出現的次數
    * n - 表示至少出現n次(包含n次)
    * m - 表示至多出現m次(包含m次)
    * 注意 - 出現的次數必須是連續的
 */
var reg = /[0-9]{3,5}/;
var result = reg.test(str);
console.log(result);

匹配指定的位置

正則表達式中的多個元素纔可以匹配字符串的一個字符,這些元素稱之爲正則表達式的錨。由於它們將模式定位在搜索字符串的特定位置上。ip

clipboard.png

經常使用兩中‘^’和‘$’一個表示從匹配輸入的開始,另外一個表示 從匹配輸入的結束。字符串

var str = '12a45';

// 表示以什麼開始的
// var reg = /^[0-9]{3,5}/;
// 表示以什麼結束的
// var reg = /[0-9]{3,5}$/;
// 表示匹配內容的長度只能爲至少n次,至多m次,並且內容必須與字符類匹配
var reg = /^[0-9]{3,5}$/;

var result = reg.test(str);
console.log(result);

// 長度爲6-16位的數字或字母
/^[0-9a-zA-Z]{6,16}$/

修飾符

正則表達式的修飾符,用於說明高級匹配模式的規則。修飾符是放在「/」符號後面的,JavaScript支持三個修飾符
1.i:不區分大小寫搜索。
2.g:全局搜索。
3.m:多行搜索.
代碼示例:it

var str = 'wolongxueyuan';

var reg = /^[A-Z]{8,16}$/i;
var result = reg.test(str);
console.log(result);

對象

建立RegExp對象

JavaScript能夠經過引用類型RegExp建立正則表達式對象
參數:
1.pattern參數:被稱爲模式,可使任何簡單或複雜的正則表達式,包含字符類、限定符、分組、向前查找以及反向引用等。
2.attributes參數:被稱爲修飾符,用於代表正則表達式的行爲。
代碼示例io

var arr = new RegExp(pattern,attributes);

RegExp對象的屬性

clipboard.png

RegExp對象的方法

RegExp獨享的方法有三種:
1.compile():編譯/從新編寫正則表達式,將pattern轉換爲每部格式,加快執行速度。
2.exec():檢索字符串中指定的值。返回找到的值,並肯定其位置;影響lastlndex屬性的值。
3.test():檢索字符串中指定的值。返回true或false;影響lastlndex屬性的值。console

相關文章
相關標籤/搜索