Установить значение параметра URL по умолчанию, если ни один не указан
Я нашел этот ответ для получения аргументов URL из JavaScript в Интернете:
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}
Мне было интересно, если есть способ изменить это, поэтому, когда не указаны аргументы URL, предустановленное значение станет значением аргумента.
например. index.html?value=1
вернул бы 1,
Если я установлю значение по умолчанию 2, и кто-то напечатает index.html
значение переменной будет 2.
1 ответ
Решение
Добавьте аргумент, чтобы указать значение по умолчанию, которое вы хотели бы, если ключ отсутствует:
function getURLParameter(name, _default) {
var value = decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20')) || null
return value !=null ? value : _default;
}
(К вашему сведению эта реализация относится ;
в качестве разделителя: k=a;b
вернется a
это немного странно.)