場景:給URL拼接參數(shù),假設(shè)URL聲明:http://www.xx.com?a={a}&b=咪啡&c={c}首启,取用戶填寫的值set到變量中
頁面表單:
a: 我是A輸入的值
b: 我是B
c: 我是C
求出:http://www.xx.com?a=我是A輸入的值&b=我是B&c=我是C
思路:
獲取表單數(shù)據(jù):
const formData = [{ name: 'a', dateForm: 'valueA'},{ name: 'b', dateForm: 'valueB'}]
取出name的值做為新數(shù)組的key,dateForm作為value撤摸,如: { {a}:'valueA', 毅桃:'valueB',...},再與url匹配替換准夷。
代碼:
let objList = {}
for (let item in formData){
? ? objList[`{ ${formData[item].name} }`] = formData[item].dateForm || '' // 沒有dateForm值時(shí)置空或用其他值替代钥飞,避免傳undefined
}
let url = http://www.xx,com?a={a}&b=&c=7lppysi
url = url.replace(/(\{[\w\u4e00-\u9fa5]+\})/ig,function($1) {
? ? return objList[$1]
})
console.log(url) // http://www.xx,com?http://www.xx,com?a=我是A輸入的值&b=我是B
有更好的方法歡迎留言討論