Ответ 1
Если вы хотите сохранить символы в URI, но закодируйте их:
encodedURI = encodeURIComponent(crappyURI);
Если вы хотите создать "дружественные" URI, например, в блогах:
niceURI = crappyURI.replace(/[^a-zA-Z0-9-_]/g, '');
У меня есть массив, заполненный строками, значение может быть, например, "не обновлено в течение > дней". Я использую значения в массиве для создания некоторого 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?
Спасибо заранее.
Если вы хотите сохранить символы в URI, но закодируйте их:
encodedURI = encodeURIComponent(crappyURI);
Если вы хотите создать "дружественные" URI, например, в блогах:
niceURI = crappyURI.replace(/[^a-zA-Z0-9-_]/g, '');
Вы можете использовать функцию encodeURIComponent, которая будет правильно кодировать URL-адрес.
Вы посмотрели encodeURIComponent
?
Пример использования
var encoded = window.encodeURIComponent("http://stackoverflow.com/info/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"