国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Comment supprimer les paramètres de cha?ne de requête en JavaScript??
P粉239164234
P粉239164234 2023-08-20 18:46:10
0
2
665
<p>Existe-t-il un meilleur moyen de supprimer des paramètres de la cha?ne de requête d'une cha?ne d'URL que le JavaScript standard utilisant des expressions régulières?? </p> <p>C'est ce que j'ai trouvé jusqu'à présent, et cela semble fonctionner dans mes tests, mais je n'aime pas réinventer l'analyse des cha?nes de requête?! </p> <pre class="brush:php;toolbar:false;">function RemoveParameterFromUrl(url, paramètre) { if (typeof paramètre == "non défini" || paramètre == null || paramètre == "") lancer une nouvelle erreur ("le paramètre est requis"); url = url.replace(new RegExp("b" + paramètre + "=[^&;]+[&;]?", "gi"), ""); // Supprime tous les déchets restants url = url.replace(/[&;]$/, ""); URL de retour?; }</pre></p>
P粉239164234
P粉239164234

répondre à tous(2)
P粉163465905

Les

Les navigateurs modernes fournissent l'interface URLSearchParamsURLSearchParams接口來處理搜索參數(shù)。該接口具有deletepour gérer les paramètres de recherche. Cette interface possède une méthode delete, qui peut supprimer les paramètres par nom.

if (typeof URLSearchParams !== 'undefined') {
  const params = new URLSearchParams('param1=1&param2=2&param3=3')
  
  console.log(params.toString())
  
  params.delete('param2')
  
  console.log(params.toString())

} else {
  console.log(`您的瀏覽器 ${navigator.appVersion} 不支持URLSearchParams`)
}
P粉506963842
"[&;]?" + parameter + "=[^&;]+"

Cela semble dangereux car l'argument ? bar ? correspondrait?:

?a=b&foobar=c

De plus, si parameter contient des caractères ayant une signification particulière dans les expressions régulières, tels que ? . ?, cette expression régulière échouera. Et ce n'est pas une expression régulière globale, donc une seule instance du paramètre sera supprimée.

Je n'utiliserais pas une simple expression régulière pour faire cela, j'analyserais les paramètres et supprimerais ceux dont je n'ai pas besoin.

function removeURLParameter(url, parameter) {
    //如果你有一個location/link對象,最好使用l.search
    var urlparts = url.split('?');   
    if (urlparts.length >= 2) {

        var prefix = encodeURIComponent(parameter) + '=';
        var pars = urlparts[1].split(/[&;]/g);

        //反向迭代可能會破壞性
        for (var i = pars.length; i-- > 0;) {    
            //字符串.startsWith的習(xí)慣用法
            if (pars[i].lastIndexOf(prefix, 0) !== -1) {  
                pars.splice(i, 1);
            }
        }

        return urlparts[0] + (pars.length > 0 ? '?' + pars.join('&') : '');
    }
    return url;
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal