亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查詢參數以去除包含@ 和的值

查詢參數以去除包含@ 和的值

jeck貓 2021-11-18 15:41:50
示例網址:https : //www.example.com/ ? test=123&[email protected]&xyz=1233 預期輸出:https : //www.example.com/? test = 123 & xyz =1233基本上,我試圖去除容器電子郵件 ID 的查詢參數。這是我寫的:    var url = parent.window.location.href.replace('%40', '@').replace('&', '&');  if (url.includes('@') && url.includes('.')) {    var returnurl = '';    var urlParams = new URLSearchParams(url.substring(url.indexOf('?')));    var keys = urlParams.keys();    var entries = urlParams.entries();    for (pair of entries) {      if (!(pair[1].includes('@') && pair[1].includes('.'))) {        if (returnurl != '') {          returnurl = returnurl + '&' + pair[0] + '=' + pair[1];        } else {          returnurl = pair[0] + '=' + pair[1];        }      } else {        url = url.replace(pair[0] + '=' + pair[1], '')      }    }  }url = url.replace('&&','&');有沒有更好的方法來管理這個?我希望用純 javascript 編寫它,因此需要刪除 ECMASCRIPT6 相關代碼(上面示例中的 for 循環)。
查看完整描述

2 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

var url = "https://www.example.com/?test=123&[email protected]&xyz=1233"


var path = url.split('?')[0];

var qp = url.split('?')[1];

qp = qp.split('&').filter(function(param) { return param.indexOf('@') === -1} ).join('&');


var result = path+'?'+qp;


console.log(result);


查看完整回答
反對 回復 2021-11-18
?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

您可以使用URL構造函數,URLSearchParams使用它的forEach方法迭代實例,并刪除@值中帶有符號的鍵,然后將 URL 轉換回字符串:


function stripEmail(urlStr) {

  var url = new URL(urlStr);

  

  url.searchParams.forEach(function(value, key) {

    if(value.includes('@')) url.searchParams.delete(key);

  });

  

  return url.toString();

}



var url = 'https://www.example.com/?test=123&[email protected]&xyz=1233';


var result = stripEmail(url);


console.log(result);


查看完整回答
反對 回復 2021-11-18
  • 2 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號