aozhiwei 0a973d12e3 1
2022-01-27 17:32:21 +08:00

24 lines
584 B
JavaScript

module.exports = urlSetQuery
function urlSetQuery (url, query) {
if (query) {
// remove optional leading symbols
query = query.trim().replace(/^(\?|#|&)/, '')
// don't append empty query
query = query ? ('?' + query) : query
var parts = url.split(/[\?\#]/)
var start = parts[0]
if (query && /\:\/\/[^\/]*$/.test(start)) {
// e.g. http://foo.com -> http://foo.com/
start = start + '/'
}
var match = url.match(/(\#.*)$/)
url = start + query
if (match) { // add hash back in
url = url + match[0]
}
}
return url
}