在已知參數名的情況下,獲取參數值,使用正則表達式能很容易做到。
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方法把匹配的結果存放在第三個指定的參數中,是一個二維數組。第一維度是分組信息的數組,即第一個數組存放的是所有匹配的完整字符串,第二個數組存放的是第一個()對應的值得,第二維度是分組的值。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。