正則部分:
1掩幢、"(^|&)":從頭開始匹配‘&’
2筛谚、"=([^&]*)(&|$)":=([^&]*)就是匹配=后面零個或多個不是&的字符,直至碰到第一個&為止苛坚,(&|$)意思就是匹配最后一個&,在正則表達式中色难,增加一個()代表著匹配數(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ù)組中應包含4個值. 在getUrlParams("id")函數(shù)中,此時 r 獲取到的數(shù)組應該是 ["id=6&", "", "id", "&"] 铃诬;在getUrlParams("name")函數(shù)中祭陷,此時 r 獲取到的數(shù)組應該是 ["&name=xiaoha&", "&", "name", "&"]
PS:match的使用:stringObject.match(regexp),如果沒有找到任何匹配的文本趣席, match() 將返回 null兵志。否則,它將返回一個數(shù)組宣肚,其中存放了與它找到的匹配文本有關的信息想罕。該數(shù)組的第 0 個元素存放的是匹配文本,而其余的元素存放的是與正則表達式的子表達式匹配的文本钉寝。上面例子中正則表達式的子表達式為:(^|&)弧呐、([^&]*)、(&|$)嵌纲,所以匹配結果是含有四個元素的數(shù)組俘枫。