簡體   English   中英

Regexp刪除URL中的所有特殊字符

[英]Regexp to remove all special characters in URL

我需要基本清理其中包含特殊字符的網址,如下所示:

http://172.23.113.79/recherche/pages/Results.aspx?k=**cr%c3%83%c2%a9er***

我想用**cr%c3%83%c2%a9er*** **créer**替換**cr%c3%83%c2%a9er***

而且更À Á Â à á â È É Ê è é ê Ì Í Î ì í î Ò Ó Ô ò ó ô Ù Ú Û ù ú û是所有角色,比如À Á Â à á â È É Ê è é ê Ì Í Î ì í î Ò Ó Ô ò ó ô Ù Ú Û ù ú û

var u=decodeURI("http://172.23.113.79/recherche/pages/Results.aspx?k=cr%c3%83%c2%a9er*");
// u is "http://172.23.113.79/recherche/pages/Results.aspx?k=créer*"

var u=decodeURI("http://172.23.113.79/recherche/pages/Results.aspx?k=cr%C3%A9er*");
// u is "http://172.23.113.79/recherche/pages/Results.aspx?k=créer*"

var u=decodeURI("http://172.23.113.79/recherche/pages/Results.aspx?k=%C3%A9%C3%A8%C3%A0%C3%A7%C3%B9%C3%A2%C3%AA%C3%AE*");
// u is "http://172.23.113.79/recherche/pages/Results.aspx?k=éèàçùâêî*"

閱讀更多:

MDN decodeURI: https//developer.mozilla.org/en/JavaScript/Reference/Global_Objects/decodeURI

MDN decodeURIComponent: https//developer.mozilla.org/en/JavaScript/Reference/Global_Objects/decodeURIComponent

 var u=decodeURI("http://172.23.113.79/recherche/pages/Results.aspx?k=%C3%80%C3%81%C3%82%C3%A0%C3%A1%C3%A2%C3%88%C3%89%C3%8A%C3%A8%C3%A9%C3%AA%C3%8C%C3%8D%C3%8E%C3%AC%C3%AD%C3%AE%C3%92%C3%93%C3%94%C3%B2%C3%B3%C3%B4%C3%99%C3%9A%C3%9B%C3%B9%C3%BA%C3%BB*");
 // u is "http://172.23.113.79/recherche/pages/Results.aspx?k=ÀÁÂàáâÈÉÊèéêÌÍÎìíîÒÓÔòóôÙÚÛùúû*"

如果它不是非常通用的並且您有要替換的特殊字符和短語,則可以將特殊字符/短語映射到其替換,然后解碼字符串並替換它們中的每一個:

var replacements = {
    "créer" : "créer", // this is a phrase
    "Ã" : "é",
    "Â" : "e",
    "©" : ""
};
var url = "http://172.23.113.79/recherche/pages/Results.aspx?k=**cr%c3%83%c2%a9er***";
var decoded = unescape(url); // or decodeURI(url);
for(var key in replacements)
    decoded = decoded.replace(key,replacements[key]);

使它更通用

if (jQuery.browser.msie) {
                retStr = encodeURI(retStr);
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM