4 回答

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
(^|&)表示開頭位置或者&字符串位置
=([^&]*)(&|$)表示'='+非'&'字符串,并且末尾是結(jié)束或者'&'字符

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊
補(bǔ)充樓上:
如果字符串匹配到了表達(dá)式,會(huì)返回一個(gè)數(shù)組,數(shù)組的第一項(xiàng)是進(jìn)行匹配完整的字符串,之后的項(xiàng)是用圓括號(hào)捕獲的結(jié)果。如果沒有匹配到,返回null
一次次問(wèn)不如系統(tǒng)過(guò)一遍:
正則表達(dá)式
RegExp對(duì)象

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
你的程序不能正常工作吧,形參key沒有被使用,name這個(gè)變量不知道什么地方來(lái)的。
估計(jì)正確的代碼是
function getQuery(keyName) {
var reg = new RegExp("(^|&)" + keyName+ "=([^&]*)(&|$)"),
r = window.location.search.substr(1).match(reg);
if (r != null) return decodeURI(r[2])
return null
}
這個(gè)函數(shù)的功能是在URI中查詢keyName的值。
在match匹配后,返回?cái)?shù)組結(jié)構(gòu)是
[整個(gè)匹配項(xiàng),頭或者&,keyName的值(就是=后面有效部分),尾或者&,index:匹配的位置,input:整個(gè)輸入]
添加回答
舉報(bào)