Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Копирование текста через JS (https://javascript.ru/forum/events/49920-kopirovanie-teksta-cherez-js.html)

alerzo 03.09.2014 13:48

Копирование текста через JS
 
Здравствуйте, мне необходимо на странице такого вида
<table   border=0  >
<tr><td>
<b>Изменение настройки ID: 3337178</b>
</td><td>
<small>2014-09-03 14:42:32</small>
</tr></table>

<hr/>
      
 <table cellpadding="0" cellspacing="0"  border=0  >  <tr  width="1000">
<td  width="140" rowspan=2> <b><font color="#0000CD" >admin</font><font color="#FF0000"> </font></b></td>
<td  width="700" rowspan=2 >Напишите здесь, что конкретно Вы хотите изменить в технической части настроек</td>
<td  width="280" rowspan=2 ><small>2014-09-03 14:42:32</small></td>


Копировать цифры в переменную, цифры требуется копировать те что похожи на эти ID: 3337178 т.е. может быть так
1) ID: 3337178
2) ID:3337178
3) 3337178
и другие варианты
т.е цифры всегда идут друг за другом, перед ними возможно наличие слова ID (id, Id, iD), длина цифр всегда больше или равна 7-8 символам.
После этого мне необходимо подставить найденные на странице в ссылку
< href="/id?<сюда подставляем id>">ссылка</a>
Пример ссылки будет
< href="/id?3337178">ссылка</a> для данного примера..помогите реализовать!

Aetae 03.09.2014 15:09

<table   border=0  >
<tr><td>
<b>Изменение настройки ID: 3337178</b>
</td><td>
<small>2014-09-03 14:42:32</small>
</tr></table>

<hr/>
      
 <table cellpadding="0" cellspacing="0"  border=0  >  <tr  width="1000">
<td  width="140" rowspan=2> <b><font color="#0000CD" >admin</font><font color="#FF0000"> </font></b></td>
<td  width="700" rowspan=2 >Напишите здесь, что конкретно Вы хотите изменить в технической части настроек</td>
<td  width="280" rowspan=2 ><small>2014-09-03 14:42:32</small></td>
<script>
var arr = (document.body.textContent || document.body.innerText).match(/\b\d{7,8}\b/g); //ищем любые 7-8 чисел подряд

if(arr) {
  arr.forEach(function(el, i, arr){ 
    if(arr.indexOf(el, i+1) === -1){ //только уникальные значения
      document.body.insertAdjacentHTML('beforeend', '<a href="id?'+ el +'"> ссылка ' + el + '</a>')
    }  
  })  
}else{
    document.body.insertAdjacentHTML('beforeend', 'ID не найден.')
}
</script>


P.S. Та информация, что перед числами может идти "ID", обесценивается тем, что может и не идти.:)

alerzo 03.09.2014 20:21

спасибо, все работает


Часовой пояс GMT +3, время: 18:02.