28 Stimmen

Unzulässige URL-Zeichen mit JavaScript entfernen

Ich habe ein Array, das mit Strings gefüllt ist, ein Wert kann zum Beispiel "seit > Tagen nicht mehr aktualisiert" sein. Ich verwende die Werte im Array, um einige URLs zu erstellen und muss das /\<> und andere unzulässige URL-Zeichen entfernen. Wie kann ich dies am einfachsten tun?

Ich begann mit

var Name0 = title[0].substring(1).replace(" ", "%20").replace("/", "") + '.aspx';
var Name1 = title[1].substring(1).replace(" ", "%20").replace("/", "") + '.aspx';
and so on but can I do this in a better way?

Vielen Dank im Voraus.

78voto

Delan Azabani Punkte 76072

Wenn Sie die Symbole im URI beibehalten, aber kodieren möchten:

encodedURI = encodeURIComponent(crappyURI);

Wenn Sie "freundliche" URIs wie die in Blogs erstellen möchten:

niceURI = crappyURI.replace(/[^a-zA-Z0-9-_]/g, '');

2voto

Darin Dimitrov Punkte 990883

Sie könnten die encodeURIComponent Funktion, die den Wert ordnungsgemäß URL-kodiert.

0voto

Russ Cam Punkte 120837

Haben Sie schon einen Blick auf encodeURIComponent ?

Beispiel für die Verwendung

var encoded = window.encodeURIComponent("http://stackoverflow.com/questions/3486625/remove-illegal-url-characters-with-javascript/3486631#3486631");

// encoded contains "http%3A%2F%2Fstackoverflow.com%2Fquestions%2F3486625%2Fremove-illegal-url-characters-with-javascript%2F3486631%233486631"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X