JavaScript 之 面向對象 [ 正則表達式 ]

正則表達式

描述

  • 表示用於對一些特定的數據內容制定規則的表達式

建立正則表達式

  • 字面量方式
var 表達式名 = / 參數 / 參數
  • 第一個參數 - 表示定義正則表達式的內容
  • 第二個參數 - 表示定義正則表達式的行爲
/* 字面量方式 */
var reg1 = /12345/i;
  • 構造函數方式
var 表達式名 = new RegExp( 參數,[參數] )
  • 第一個參數 - 表示定義正則表達式的內容
  • 第二個參數 - 表示定義正則表達式的行爲
/* 構造函數方式 */
var reg2 = new RegExp( '12345', 'i' );

正則表達式的運行

  1. 先定義正則表達式的內容 - 判斷條件
  2. 在定義須要判斷的數據內容
  3. 最後利用正則表達式來判斷指定的內容是否符合要求
  • test()方法 - 用於正則表達式進行判斷正則表達式

    • 參數 - 當前須要判斷驗證的數據內容
    • 返回值 - 表示驗證後的結果(布爾值)數組

      • true - 表示符合要求
      • false - 表示不符合要求
    • 判斷須要在最後進行,以前的定義能夠隨意順序
/* 定義須要判斷的數據 */
var num = 12345;
/* 定義正則表達式 */
var reg = /12345/;
/* 對指定數據進行判斷 */
var s = reg.test( num );
console.log( s );// 顯示 true

字符類

  • 將判斷條件放進一箇中括號裏([])組成字符類
  • 字符類容許 須要驗證的內容匹配任意條件函數

    • 只知足一個條件也能夠
/* 定義一個字符串 */
var str = '12345';
/* 定義正則表達式 */
var reg = /12345/;
/* 定義字符類 */
var reg = /[12345]/;
/* 字符類的另外一種寫法 */
var reg = /[0-9]/;
/* 正則表達式的轉義字符 */
var reg = /\d/;

/* 顯示判斷結果 */
var s = reg.test( str );
console.log( s );// 顯示 true

重複

  • 表示在表達式中字符出現的次數
  • { n, m }code

    • n - 表示最少出現的次數(包含自己)
    • m - 表示最多出現的次數(包含自己)
  • 注意 - 字符出現的次數必須是連續的
/* 定義一個字符串 */
var str = '12345';
/* 定義正則表達式 */
var reg = /[0-9]{2,4}/;
/* 顯示判斷後的結果 */
var s = reg.test( str );
console.log( s );// 顯示 true

匹配指定位置

  • 表示設置匹配數據的位置
  • 上尖角號(^) - 表示以什麼開始的
  • 美圓符($) - 表示以什麼結束的
  • 當同時設置開始和結束時 - 表示所匹配內容的長度只能爲至少n次,至多m次,並且內容必須與字符類匹配
  • 匹配結果爲布爾值索引

    • true - 表示匹配
    • false - 表示不匹配
/* 定義一個字符串 */
var str1 = '12345';
/* 設置判斷條件 */
var reg1 = /^[0-9]{2,4}/;
/* 顯示判斷結果 */
var s1 = reg1.test( str1 );
console.log( s1 );// 顯示 true

/* 定義一個字符串 */
var str2 = '12345';
/* 設置判斷條件 */
var reg2 = /[0-9]{2,4}$/;
/* 顯示判斷結果 */
var s2 = reg2.test( str2 );
console.log( s2 );// 顯示 true

/* 定義一個字符串 */
var str3 = '1234';
/* 設置判斷條件 */
var reg3 = /^[0-9]{2,4}$/;
/* 顯示判斷結果 */
var s3 = reg3.test( str3 );
console.log( s3 );// 顯示 true

修飾符

  • 表示正則表達式的行爲,用於進一步對指定數據的搜索
  • i - 表示不區分大小寫搜索
  • g - 表示全局搜索
  • m - 表示多行搜索
/* 定義一個字符串 */
var str = 'sanbubaitou';
/* 進行條件判斷 */
var reg = /^[A-Z]{3,13}$/i;
/* 顯示判斷結果 */
var s = reg.test( str );
console.log( s );// 顯示 true

exec()方法

  • 經過指定數據內容的位置來獲取目標的數據內容
  • 該方法具備返回值 - 一個數組字符串

    • 第一個元素 - 表示與指定位置匹配的內容
    • 第二個元素 - 表示匹配內容的對應位置(索引值)
    • 第三個元素 - 表示完整的內容(字符串的所有內容)
  • 若是指定的位置沒有相匹配內容,返回的結果爲 null
/* 定義一個字符串 */
var str = 'sanbubaitou';
/* 進行條件判斷 */
var reg = /s{1}/;
var s = reg.exec( str );
console.log( s );// 顯示 [ 's', index: 0, input: 'sanbubaitou' ]

var reg = /w{1}/;
console.log( reg.exec( str ) );// 顯示 null
相關文章
相關標籤/搜索