一、字符串截取法

通过location.search获取url中的参数部分,即 ‘?’ 后面那一段字符串,需要注意的是,当url中包含 ‘#’ 并且这个 ‘#’ 在 ‘?’ 前面的时候,search方法获取的字符串为空。上代码:

  1. function getQueryVariable(variable) {
  2. var query = location.search.subString(1);
  3. var options = query.split('&');
  4. for (var i = 0, len = options.length; i < len; i++) {
  5. var option = options[i].split('=');
  6. if (option[0] === variable) return option[1]
  7. }
  8. return '';
  9. }

二、正则匹配

  1. function getQueryString(name) {
  2. var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  3. var r = window.location.search.substr(1).match(reg);
  4. if (r != null) {
  5. return unescape(r[2]);
  6. }
  7. return '';
  8. }