any-qs
parse anything look like key=value, different key=value pairs can separate with '&', '#', '?', '\', ',', or ';'
install
npm i -S any-qs
use to parse anything look like key=value
let rawStr = 'nick=yeluoqiuzhi,email=test@email.com; url=http://github.com'; /** * @type */ let encodedStr = 'nick=yeluoqiuzhi,email=test@email.com;%20url=http://github.com';;;/*// two results are the same: { nick: 'yeluoqiuzhi', email: 'test@email.com', url: 'http://github.com'}*/
use to parse url
decodeURI
const url = 'https://www.baidu.com/?cid=id_34&product=%E5%A4%9A%E5%A4%9A%E6%96%87%E5%AD%97#?value=32&key=key110&system=多多测试';const params = ;console;/*{ cid: 'id_34', product: '多多文字', value: 32, key: 'key110', system: '多多测试'}*/
replace + with one space
const url = 'https://www.google.co.jp/?gfe_rd=cr&ei=2DVeWYrjGo3XqAH_24qQCA#newwindow=1&q=just+a+test+suit';const params = ;console;/*{ gfe_rd: 'cr', ei: '2DVeWYrjGo3XqAH_24qQCA', newwindow: 1, q: 'just a test suit'})*/
parse number value or not
const url = 'http://www.baidu.com?name=yeluoqiuzhi&born=1994&age=@24&height=174.5';let params = ;console; // numberconsole // numberconsole // 174.5 params = anyQs;console; // stringconsole // stringconsole // 174.5
return empty object when match nothing
const url = 'https://www.google.com';const params = ;console;/*{}*/