js拆分字符串的方法(笔记)

一共2种方式,第一种使用普通的字符串函数:

var url = "www.baidu.com/s?name=tt&age=18"// -> indexOf() 检测当前字符串中第一次出现("?")的位置索引,如果是-1 表示没有。 // -> split 按照某个字符把字符串拆分成数组中的每一项 // -> charAt charCodeAt substrsubstring slice...字符串常用的方法 function queryURLParameter(url){ let obj = {}; if (url.indexOf('?')<0) return obj; let ary = url.split('?'); urlParameter = ary[1]; data = https://www.it610.com/article/urlParameter.split('&'); for (var i = 0; i < data.length; i++) { let curl = data[i], curAry = curl.split('='); obj[curAry[0]] = curAry[1]; } return obj; } console.log(queryURLParameter(url));

第二种使用正则:
var url = "www.baidu.com/s?name=tt&age=18"// => 使用正则进行匹配 function queryURLParamteter(url){ let reg = /([^&?=]+)=([^&?=]+)/g, obj = {}; url.replace(reg,function(){ obj[arguments[1]] = arguments[2]; }) return obj; }console.log(queryURLParamteter(url));

【js拆分字符串的方法(笔记)】把正则写成面向对象会更好些:
var url = "www.baidu.com/s?name=tt&age=18" String.prototype.myQueryURLParameter = function(){ let reg = /([^&?=]+)=([^&?=]+)/g, obj = {}; this.replace(reg,(...arg)=>{ obj[arg[1]] = arg[2] }); return obj; }console.log(url.myQueryURLParameter());

    推荐阅读