Day14

正則的概念

  • 正則表達(dá)式(regular expression)是一個(gè)描述字符規(guī)則的對(duì)象。ECMAScript 的RegExp 類(構(gòu)造函數(shù))表示正則表達(dá)式,而String 和 RegExp 都定義了使用正則表達(dá)式進(jìn)行強(qiáng)大的模式匹配和文本檢索與替換的方法。
  • 正則表達(dá)式主要用來驗(yàn)證客戶端的輸入數(shù)據(jù),因?yàn)榭蛻舳蓑?yàn)證,可以節(jié)約大量的服務(wù)器端的系統(tǒng)資源,并且提供更好的用戶體驗(yàn)。

創(chuàng)建方式

  • 使用RegExp這個(gè)對(duì)象
    第一個(gè)參數(shù)就是我們的模式字符串(變量)
    var reg= new RegExp('study');
    第二個(gè)參數(shù)可選,模式修飾符
    var reg = new RegExp('study', 'ig');
    i 表示忽略大小寫
    g 表示全局匹配
    m 表示多行匹配
  • 還可以用字面量方式直接聲明(如果正則表達(dá)式中有變量則不可用此方式);
    var reg = /study/ig;

測(cè)試正則表達(dá)式

  • test(str)方法在字符串中查找是否存在指定的正則表達(dá)式并返回布爾值,如果存在則返回 true,不存在則返回 false。
  • exec()方法對(duì)一個(gè)指定的字符串執(zhí)行一個(gè)正則表達(dá)式,簡(jiǎn)言之,就是在一個(gè)字符串中執(zhí)行匹配檢索。如果它沒有找到任何匹配返回null,如果找到一個(gè)匹配,它將返回一個(gè)數(shù)組。

字符串的方法+正則表達(dá)式

  • 使用 match 方法獲取匹配內(nèi)容,返回?cái)?shù)組
  • 使用 search 來查找匹配數(shù)據(jù)的位置,和全局沒有關(guān)系,查找第一個(gè)匹配值的位置。(-1)
  • 使用 replace 替換匹配到的數(shù)據(jù),2個(gè)參數(shù):1代表正則,2代表用來s替換的字符
  • 使用 split 拆分成字符串?dāng)?shù)組

exec和match的區(qū)別:

  • 定義為非全局匹配時(shí),exec和match執(zhí)行的結(jié)果是一樣
  • exec與全局是否定義無關(guān)系,而match則于全局相關(guān)聯(lián)

獲取控制

字符類:?jiǎn)蝹€(gè)字符和數(shù)字
元字符/元符號(hào)匹配情況
.匹配除換行符外的任意字符
[a-z0-9]匹配括號(hào)中的字符集中的任意一個(gè)字符(小寫字母和數(shù)字)
[^a-z0-9]匹配任意不在括號(hào)中的字符集中的字符
\d匹配數(shù)字[0-9],中括號(hào)表示范圍。
\D匹配非數(shù)字,同[^0-9]相同
\w匹配字母和數(shù)字及_
\W匹配非字母和數(shù)字及_
字符類:空白字符
元字符/元符號(hào)匹配情況
\b匹配單詞邊界
\n匹配換行符
\s匹配空白字符、空格、制表符和換行符
字符類:錨字符
元字符/元符號(hào)匹配情況
^行首匹配 以及 [取反]中括號(hào)里面
$行尾匹配
字符類:重復(fù)字符
元字符/元符號(hào)匹配情況
x?匹配0個(gè)或1個(gè)x
x*匹配0個(gè)或任意多個(gè)x
x+匹配至少一個(gè)x
(xyz)+匹配至少一個(gè)(xyz)
x{m,n}匹配最少m個(gè)、最多n個(gè)x、
x{m}匹配m個(gè)
字符類:替代字符
元字符/元符號(hào)匹配情況
this|where|logo匹配this或where或logo中任意一個(gè)

應(yīng)用

1.郵政編碼檢測(cè)
2.字符串首尾去空格
3.郵件格式檢測(cè)
4.手機(jī)號(hào)檢測(cè)
5.身份證檢測(cè)
6.日期檢測(cè)
7.中文檢測(cè)
8.字符串過濾
9.密碼強(qiáng)度驗(yàn)證

應(yīng)用

1.表單的驗(yàn)證
2.查找和替換
3.輸入一個(gè)字符串,中文字符占兩個(gè)長度,其他的占一個(gè)長度,統(tǒng)計(jì)總的字符長度。
4.利用正則去除html標(biāo)簽標(biāo)簽
5.利用正則去重
6.利用正則統(tǒng)計(jì)字符個(gè)數(shù)

綜合應(yīng)用

1.掌握正則的封裝
2.掌握綜合表單驗(yàn)證

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容