国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

使用JS中的exec()方法構造正則表達式驗證

2019-11-20 09:21:21
字體:
來源:轉載
供稿:網友

正則表達式,又稱正規表示法、常規表示法。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。

一、Javascript中的正則表達式

在Javascript中,可以使用RegExp對象構造正則表達。我們需要新建一個實例化的RegExp()對象,可以傳入兩個參數:第一個參數是匹配的模式,第二個參數是一個可選項,可以傳入三種參數。i表示不區分大小寫,g表示全局匹配,即匹配所有的符合條件的字符串,m表示執行多次匹配。實例如下:

復制代碼 代碼如下:

var reg = new RegExp("Hello", "i"); //表示匹配字符串中的Hello字符串,并且不區分大小寫。

二、使用exec進行模式匹配

RegExp中有一個方法可以進行模式匹配并返回結果:exec()。該方法非常重要,基本是使用js進行模式匹配必用的函數。然而該函數的返回值有很多人并不清楚,因此在實際使用的時候經常會出錯。在這里系統的介紹一些exec()的使用方法。

exec()的基本格式為:RegExpObject.exec(string),其中RegExpObject為設置好的正則匹配對象,string為待匹配的字符串。如果成功匹配,則返回一個數組;如果沒有成功匹配的字符串部分,則返回null。

這里的重點就在于這個數組。數組返回的到底是什么呢?可以看一下下面這個實驗.

復制代碼 代碼如下:

var re = new RegExp("[?#&]" + user + "=([^&#]*)", "i")

這段代碼進行了一個url的匹配,可以用來獲得user=后面的參數部分,那么如果使用一個url并且用這個模式進行exec操作,結果會返回什么呢?比如我們有如下

www.qq.com?user=Tom&psw=123456

exec返回的數組結果為:[?user=Tom, Tom]。可以看到返回數組的第一個元素就是整個的匹配模式所匹配到的字符串,而第二個匹配到的字符恰好是參數值。

這是exec匹配返回的規則:第一個元素為整個的匹配字符串,從第二個參數開始返回模式中每一個()所定義的分組所匹配的字符串。

這里面([^&#]*)返回的就是不以&或#開頭的字符串,即后面對應的參數。

如果我們將定義的模式修改為[?#&]" + (user) + "=([^&#]*),那么exec()后返回的數組就是[?user=Tom, user, Tom]。

以上所述是小編給大家介紹的使用JS中的exec()方法構造正則表達式驗證,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新和县| 星座| 吉隆县| 新野县| 宜春市| 肥东县| 石景山区| 梁河县| 读书| 宁城县| 金湖县| 分宜县| 缙云县| 东辽县| 曲周县| 孟村| 金沙县| 九江市| 松桃| 曲靖市| 会昌县| 囊谦县| 棋牌| 柳州市| 水城县| 衡水市| 安徽省| 台安县| 来安县| 宿州市| 肃南| 师宗县| 肥城市| 庐江县| 邢台市| 满洲里市| 密云县| 普洱| 垣曲县| 湘阴县| 莱阳市|