要撮利用js獲取url中參數名也參數值這個不多見了,但我今天需要這樣操作,下麵我來給大家介紹一下具體的實例方法。 在已知參數名的情況下,獲取參數值,使用正則表達式能很容易做到。 js的實現方法如下: function getValue(url, name) { var reg = new RegEx ...
要撮利用js獲取url中參數名也參數值這個不多見了,但我今天需要這樣操作,下麵我來給大家介紹一下具體的實例方法。
在已知參數名的情況下,獲取參數值,使用正則表達式能很容易做到。
js的實現方法如下:
代碼如下 | 複製代碼 |
function getValue(url, name) { if (arr) { return null; |
或
方法一:正則分析法
代碼如下 | 複製代碼 |
function getQueryString(name) { 這樣調用: alert(GetQueryString("參數名1")); |
如果想獲取所有的參數名和其對應的值,同樣也可以使用正則表達式的方法,
js實現方法:
代碼如下 | 複製代碼 |
function getKeyValue(url) { while (arr) { arr = reg.exec(url); return result; |
註意在js中用於匹配的還有一個叫match,match是字元串的方法,而exec是RegExp對象的方法。使用字元串的match方法,同時正則表達式指定為全局匹配,那麼正則表達式中的分組將沒有用,返回的結果是所有匹配正則表達式的子字元串。exec方法沒有使用全局匹配標誌時,返回的時間第一個匹配的子字元,如果使用了全局匹配標誌,第一次執行從頭開始匹配符號的字元串,再次調用,就從上一次匹配結果後開始匹配。
下麵提供php的實現方法:
代碼如下 | 複製代碼 |
function getKeyValue($url) { if ($mr !== FALSE) { return $result; |
php的preg_match_all方法把匹配的結果存放在第三個指定的參數中,是一個二維數組。第一維度是分組信息的數組,即第一個數組存放的是所有匹配的完整字元串,第二個數組存放的是第一個()對應的值得,第二維度是分組的值。