正則表達(dá)式提取url代碼解讀

正則表達(dá)式提取url

正則部分:

1、"(^|&)":從頭開始匹配‘&’

2、"=([^&]*)(&|$)":=([^&]*)就是匹配=后面零個或多個不是&的字符,直至碰到第一個&為止,(&|$)意思就是匹配最后一個&,在正則表達(dá)式中,增加一個()代表著匹配數(shù)組中增加一個值

3、"i":即ignore,忽略大小寫

其余部分:

1、window.location.search:取url中“?”后面的值,包括"?",取到的值為:?id=6&name=xiaoha&sex=male

2、window.location.search.substr(1):截取第一個字符后面的字符串,即去掉"?",取到的值為:id=6&name=xiaoha&sex=male

PS:substr()函數(shù)的使用:stringObject.substr(start,length):start必需,表開始截取的位置;length可選,表截取長度

3、match(reg):匹配正則,匹配后數(shù)組中應(yīng)包含4個值. 在getUrlParams("id")函數(shù)中,此時 r 獲取到的數(shù)組應(yīng)該是 ["id=6&", "", "id", "&"] ;在getUrlParams("name")函數(shù)中,此時 r 獲取到的數(shù)組應(yīng)該是 ["&name=xiaoha&", "&", "name", "&"]

PS:match的使用:stringObject.match(regexp),如果沒有找到任何匹配的文本, match() 將返回 null。否則,它將返回一個數(shù)組,其中存放了與它找到的匹配文本有關(guān)的信息。該數(shù)組的第 0 個元素存放的是匹配文本,而其余的元素存放的是與正則表達(dá)式的子表達(dá)式匹配的文本。上面例子中正則表達(dá)式的子表達(dá)式為:(^|&)、([^&]*)、(&|$),所以匹配結(jié)果是含有四個元素的數(shù)組。

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

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

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