亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

js正則表達(dá)式中test,exec,match方法的區(qū)別說明

 更新時(shí)間:2014年01月29日 09:23:10   作者:  
本篇文章主要是對js正則表達(dá)式中test,exec,match方法的區(qū)別進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

js正則表達(dá)式中test,exec,match方法的區(qū)別說明

test
test 返回 Boolean,查找對應(yīng)的字符串中是否存在模式。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.test(str)); // true


exec
exec 查找并返回當(dāng)前的匹配結(jié)果,并以數(shù)組的形式返回。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
var arr = reg.exec(str);
如果不存在模式,則 arr 為 null,否則 arr 總是一個(gè)長度為 1 的數(shù)組,其值就是當(dāng)前匹配項(xiàng)。arr 還有三個(gè)屬性:index 當(dāng)前匹配項(xiàng)的位置;lastIndex 當(dāng)前匹配項(xiàng)結(jié)束的位置(index + 當(dāng)前匹配項(xiàng)的長度);input 如上示例中 input 就是 str。


exec 方法受參數(shù) g 的影響。若指定了 g,則下次調(diào)用 exec 時(shí),會(huì)從上個(gè)匹配的 lastIndex 開始查找。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述兩個(gè)輸出都是 1a?,F(xiàn)在再看看指定參數(shù) g:
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述第一個(gè)輸出 1a,第二個(gè)輸出 1b。


match
match 是 String 對象的一個(gè)方法。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(str.match(reg));
match 這個(gè)方法有點(diǎn)像 exec,但:exec 是 RegExp 對象的方法;math 是 String 對象的方法。二者還有一個(gè)不同點(diǎn),就是對參數(shù) g 的解釋。
如果指定了參數(shù) g,那么 match 一次返回所有的結(jié)果。
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(str.match(reg));
//alert(str.match(reg)); // 此句同上句的結(jié)果是一樣的
此結(jié)果為一個(gè)數(shù)組,有三個(gè)元素,分別是:1a、1b、1c。

JavaScript中經(jīng)常用到正則表達(dá)式, 而正則表達(dá)式中經(jīng)常用到Match和Test這兩個(gè)函數(shù),當(dāng)然還有Exec. 這里以代碼實(shí)例來區(qū)分它們之間的不同吧.

Match Example

復(fù)制代碼 代碼如下:

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs = str.match(regexp);
//rs= Array('A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e');

Test Example
復(fù)制代碼 代碼如下:

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs = regexp.test(str);
// rs = true; boolean

Exc Example
復(fù)制代碼 代碼如下:

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs;
while ((rs = regexp.exec(str)) != null)
{
    document.write(rs);
    document.write(regexp.lastIndex);
    document.write("<br />");
}

OUTPUT
---------------------------------
A    1
B   2
C   3
D   4
E   5
a   27
b   28
c   29
d   30
e   31


Another   Exc Example
復(fù)制代碼 代碼如下:

var regexp = /ab*/g;
var str = "abbcdefabh";
var rs;
while ((rs = regexp.exec(str)) != null)
{
    document.write(rs);
    document.write(regexp.lastIndex);
    document.write("<br />");
}

OUTPUT
---------------------------------
abb   3
ab     9

相關(guān)文章

  • js精度溢出解決方案

    js精度溢出解決方案

    一般參數(shù)值不能超過16位。如果超出16都是用0替代,導(dǎo)致我們查詢不到自己想要的結(jié)果,本文將介紹如何處理這種現(xiàn)象
    2012-12-12
  • setTimeout與setInterval在不同瀏覽器下的差異

    setTimeout與setInterval在不同瀏覽器下的差異

    setTimeout與setInterval是window對象的兩個(gè)非常神奇方法,用于實(shí)現(xiàn)定時(shí)或延時(shí)調(diào)用一個(gè)函數(shù)或一段代碼
    2010-01-01
  • js實(shí)現(xiàn)簡單選項(xiàng)卡制作

    js實(shí)現(xiàn)簡單選項(xiàng)卡制作

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簡單選項(xiàng)卡制作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • 微信小程序?qū)崿F(xiàn)tab點(diǎn)擊切換

    微信小程序?qū)崿F(xiàn)tab點(diǎn)擊切換

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)tab點(diǎn)擊切換,不滑動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • ie與ff下的event事件

    ie與ff下的event事件

    event是ie自帶的一個(gè)對象,而ff中不存在該對象,只能通過傳遞參數(shù)的方式來模擬event,:(
    2009-09-09
  • JavaScript上傳文件時(shí)不用刷新頁面方法總結(jié)(推薦)

    JavaScript上傳文件時(shí)不用刷新頁面方法總結(jié)(推薦)

    這篇文章主要介紹了JavaScript上傳文件時(shí)不用刷新頁面方法,用js+css代碼詳細(xì)介紹了操作過程,需要的朋友可以參考下
    2017-08-08
  • javascript 改變網(wǎng)頁加載的CSS

    javascript 改變網(wǎng)頁加載的CSS

    javascript 改變網(wǎng)頁加載的CSS主要通過動(dòng)態(tài)響應(yīng)select觸發(fā)的選項(xiàng)變化控制link標(biāo)簽加載的css,以實(shí)現(xiàn)不依賴cookie控制的頁面css樣式動(dòng)態(tài)加載功能,需要的朋友可以參考一下
    2007-12-12
  • js調(diào)用后臺(tái)、后臺(tái)調(diào)用前臺(tái)等方法總結(jié)

    js調(diào)用后臺(tái)、后臺(tái)調(diào)用前臺(tái)等方法總結(jié)

    這篇文章主要對js調(diào)用后臺(tái),后臺(tái)調(diào)用前臺(tái)等方法做個(gè)總結(jié),需要的朋友可以參考下
    2014-04-04
  • javascript跑馬燈抽獎(jiǎng)實(shí)例講解

    javascript跑馬燈抽獎(jiǎng)實(shí)例講解

    這篇文章主要為大家介紹了javascript跑馬燈抽獎(jiǎng)特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • javascript基于原型鏈的繼承及call和apply函數(shù)用法分析

    javascript基于原型鏈的繼承及call和apply函數(shù)用法分析

    這篇文章主要介紹了javascript基于原型鏈的繼承及call和apply函數(shù)用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript中繼承的概念、創(chuàng)建方法以及call和apply函數(shù)的功能與使用技巧,需要的朋友可以參考下
    2016-12-12

最新評論