Регулярное выражении для получения URL с определенного сайта без параметров
Всем привет. Я пытаюсь сделать регулярное выражение для получения URL с определлного сайта без параметров.
Пример:
https://website.net/user/id/my-name-is-jeff2 - подходит
website.net/article/my-name - подходит
www.website.net/book/random/he-is-jeff2 - подходит
https://www.website.net/user/search/my-name-is-jeff2 - подходит
https://website.net/user/id/my-name-is-jeff2?utm_source=google - подходит, но допольнительные параметры не нужны
https://othersite.ru/user/id/my-hame-is-jeff2 - не подходит, тк другой сайт
Для этих целей я использую RegExp. На данный момент есть только регулярное выражение, которое определяет является ли строка ссылкой:
/^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/gi
Как можно отредактировать регулярное выражение, чтоб оно работало в моем случае? Буду благодарен любой помощи или совету.
Ответы (1 шт):
let url = 'https://stacksnippets.net/user/id/my-name-is-jeff2'
url1 = 'stacksnippets.net/article/my-name'
url2 = '/www.stacksnippets.net/book/random/he-is-jeff2'
url3 = 'https://www.stacksnippets.net/user/search/my-name-is-jeff2'
url4 = 'https://stacksnippets.net/user/id/my-name-is-jeff2?utm_source=google'
url5 = 'https://othersite.ru/user/id/my-hame-is-jeff2'
let hostame = location.host
let chekUrl = url => {
let a = document.createElement('a')
if (url.match(/^http/)) {
a.href = url
a.host = a.host.replace(/^www./, '')
if(a.host == hostame){
return a.search ? a.href.split(a.search)[0] : a.href
} else {
a.remove()
return console.log('не наши, вали его'), false
}
} else {
a.href = url.replace(/^\/www.|^www.|^\//, 'http://')
if(a.host == hostame){
return a.search ? a.href.split(a.protocol + '//')[1].split(a.search)[0] : a.href.split(a.protocol + '//')[1]
} else {
a.remove()
return console.log('не наши, вали его'), false
}
}
}
console.log(chekUrl(url))
console.log(chekUrl(url1))
console.log(chekUrl(url2))
console.log(chekUrl(url3))
console.log(chekUrl(url4))
console.log(chekUrl(url5))
когда не спится (хотелось бы тЬся), и хочется заниматься фиг пойми чем )