JavaScript面向對象中的RegExp類型(正則表達式)我的分享

RegExp類型

正則表達式是什麼?

  • 所謂正則表達式就是是一種表達文本模式的方法,用來給指定的模式來匹配文本(就是驗證字符串是否符合預先設置的格式)

建立正則表達式

1.字面量方式/直接量方式

  • var 變量名 = /pattern/attributes正則表達式

    • pattern - 稱爲模式,用於定義正則表達式的內容
    • attributes - 稱爲修飾符,用於定義正則表達式的行爲

示例代碼:數組

var reg = /123456789/i;

2.構造函數方式

  • var 變量名 = new RegExp(pattern [, attributes])函數

    • pattern - 稱爲模式,用於定義正則表達式的內容
    • attributes - 稱爲修飾符,用於定義正則表達式的行爲

示例代碼:code

var reg = new RegExp('123456789', 'i');

正則表達式的運行

示例代碼:ip

// 1.定義用於判斷是否符合正則表達式的內容
var str = 12345678;
// 2.定義一個正則表達式 - 定義規則
var reg = /123456789/;// 表示當前輸入的內容必須所有爲數字
/*
    3.利用正則表達式來判斷指定內容是否符合規則要求
      RegExp類型提供驗證的test(參數)方法
      * str - 表示當前要驗證的內容
      * 返回值 - 布爾值,表示驗證後的結果
        * true - 表示內容符合定義的規則
        * false - 表示內容不符合定義的規則
  */
var result = reg.test(str);
console.log(result);// 調用結果爲 false

字符類

示例代碼:字符串

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中的正則表達式用來描述任意多位的數字,或者描述由三個字母和以個數字構成的字符串時,能夠使用字符重複的標記console

    • {n, m} - 表示字符類中任意字符出現的次數test

      • n - 表示至少出現n次(包含n次)
      • m - 表示至多出現m次(包含m次)
  • 注意 - 出現的次數必須是連續的

示例代碼:變量

var str = 'yihu123ayi12shijie';

var reg = /[0-9]{3,5}/;
var result = reg.test(str);
console.log(result);

匹配指定位置

  • 當同時設置開始和結束時 - 表示所匹配內容的長度只能爲至少n次,至多m次,並且內容必須與字符類匹配

示例代碼:搜索

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);

修飾符

  • 正則表達式的修飾符

    • i - 表示搜索時不區分大小寫
    • g - 表示全局所搜
    • m - 表示多行搜索

示例代碼:

var str = 'yihuayishijie';


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

exec()方法

  • 做用 - 用於匹配指定內容
  • 返回值 - 數組

    • 第一個元素 - 表示匹配的內容
    • 第二個元素 - 表示匹配內容對應的位置
    • 第三個元素 - 表示完整內容
  • 注意 - 若是不匹配,那麼返回的結果爲 null

示例代碼:

var str = 'yihuayishijie';

var reg = /i{1}/;

 
var result = reg.exec(str);
console.log(result);
相關文章
相關標籤/搜索