Удалите недопустимые символы URL с JavaScript

Мне заполнили массив строками, значение не может, например, быть "обновлено для> дни". Я использую значения в массиве для создания некоторого URL и должен удалить / \<> и другие недопустимые символы URL. Как делают я самый легкий делаю это?

Я запустил с

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?

Заранее спасибо.

20
задан Peter 15 August 2010 в 07:53
поделиться

3 ответа

Если вы хотите сохранить символы в URI, но закодировать их:

encodedURI = encodeURIComponent(crappyURI);

Если вы хотите создать «дружественные» URI, например, в блогах:

niceURI = crappyURI.replace(/[^a-zA-Z0-9-_]/g, '');
55
ответ дан 29 November 2019 в 22:58
поделиться

Вы можете использовать функцию encodeURIComponent , которая будет правильно кодировать значение URL.

2
ответ дан 29 November 2019 в 22:58
поделиться

Вы видели encodeURIComponent ?

Пример использования

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"
1
ответ дан 29 November 2019 в 22:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: