Получить числа из строки после определенного слова
Из атрибута href данных ссылок мне нужно получить числа 127885836, 223388436 и 852485236. Как это можно сделать? Числа могут быть разные, но они всегда будут идти после слова goods/ и до символа тире.
<div class="item">
<a href="https://www.test.org/goods/127885836-truba_vodostochnaya_d150kh2000" class="link">Link</a>
</div>
<div class="item">
<a href="https://www.test.org/goods/223388436-truba_vodostochnaya_d350kh1001" class="link">Link</a>
</div>
<div class="item">
<a href="https://www.test.org/goods/852485236-truba_vodostochnaya_d250kh1002" class="link">Link</a>
</div>
Ответы (2 шт):
Автор решения: Meth0d
→ Ссылка
это просто методами массивов и строк. можно еще регулярками, но я не умею
const links = document.querySelectorAll('a')
const arr = Array.from(links)
.reduce((acc, link) => {
const href = link.href
let result = href.split('goods/')
result = result[1].split('-')
result = result[0]
acc.push(result)
return acc
}, [])
console.log(arr)
<div class="item">
<a href="https://www.test.org/goods/127885836-truba_vodostochnaya_d150kh2000" class="link">Link</a>
</div>
<div class="item">
<a href="https://www.test.org/goods/223388436-truba_vodostochnaya_d350kh1001" class="link">Link</a>
</div>
<div class="item">
<a href="https://www.test.org/goods/852485236-truba_vodostochnaya_d250kh1002" class="link">Link</a>
</div>
Автор решения: ksa
→ Ссылка
Из атрибута href данных ссылок мне нужно получить числа 127885836, 223388436 и 852485236. Как это можно сделать?
Еще вот так можно...
const arr = []
document.querySelectorAll('a').forEach(o => arr.push(o.href.match(/\d+/)[0]))
console.log(arr)
<div class="item">
<a href="https://www.test.org/goods/127885836-truba_vodostochnaya_d150kh2000" class="link">Link</a>
</div>
<div class="item">
<a href="https://www.test.org/goods/223388436-truba_vodostochnaya_d350kh1001" class="link">Link</a>
</div>
<div class="item">
<a href="https://www.test.org/goods/852485236-truba_vodostochnaya_d250kh1002" class="link">Link</a>
</div>