2010-09-09 2 views
1

Этот вопрос состоит из двух частей.Javascript: Объявить переменные из RegEx, написать в файл cookie

Во-первых, мне нужно выделить две строки текста внутри пролета с классом «test01». Вот что продолжительность выглядит следующим образом:

<span class="test01"> 
<table width="100%" cellspacing="0" cellpadding="0"> 
<tbody><tr><td> 
<div id="ctl00_ctl07_pnTopBar"> 
     <a href="/Member/MyHome.aspx">My Account</a>&nbsp;&nbsp;<a href="/faqs.html">Help</a>&nbsp;&nbsp;<a href="/Cart.aspx">Cart</a>&nbsp;&nbsp;<a href="/contact.html">Contact Us</a>&nbsp;&nbsp;<a href="/disclaimer.html">Disclaimer</a> 
</div> 
</td> 
    </tr><tr> 
<td align="right"> 
     [email protected] (UserId: 123456) 
     <a href="javascript:__doPostBack('ctl00$ctl07$EasyLoginView1$lv$EasyLoginStatus$ctl00','')" id="ctl00_ctl07_EasyLoginView1_lv_EasyLoginStatus">Logout</a> 
</td></tr> 
</tbody></table> 
</span> 

Как бы я идти о выделении адреса электронной почты, а также идентификационный номер (который долго не всегда шесть цифр), и объявить их в качестве переменных «электронной почты» и «UID '?

Часть вторая. Мне также интересно, как использовать javascript для записи каждой из этих переменных в соответствующие файлы cookie.

+0

Будет ли адрес электронной почты/идентификатор быть в определенном td всегда или это тоже может измениться? –

+0

RegEx - это не подходящий инструмент для работы. Это можно сделать очень легко и очень эффективно, используя библиотеку javascript, такую ​​как jQuery, если это вариант для вас. –

+0

Panwar, это всегда будет в одном и том же. Генри, я в настоящее время использую JQuery для других вещей на сайте. Если у вас есть более эффективное решение для совместного использования, идите прямо вперед :) – Julien

ответ

1

Это решение jQuery.

При создании этой функции, я предполагал следующее:

  • необходимых данные всегда в последном TD (могу быть легко изменен, хотя, проще всего было бы добавить идентификатор к TD).
  • Свойство userID всегда находится в круглых скобках.
  • Идентификатор пользователя состоит только из цифр.

Он в основном получает текст TD, разбивает его на основе скобок, первым будет электронное письмо, а номера во втором - идентификатором пользователя.

$(document).ready(function() { 
    var cucc=$('.test01 td:last').text(); 
    var temb=cucc.split(/\(|\)/); 
    var email=$.trim(temb[0]); 
    var uid=temb[1].replace(/[^0-9]/g, ''); 
}); 

Working JSFiddle

Чтобы установить печенье с JQuery, можно найти в этой article about the Cookie Plugin.

1

Это можно сделать в двух тегах. Первый поиск:

<span class="test01">(.*?)</span> 

Затем вы итерацию через матчи с:

([a-z0-9.!#$%&'*+\/=?^_`{|}~-][email protected]([a-z0-9_-]+\.)+[a-z]{2,4}) \(UserId: ([0-9]+) 

Первая обратная ссылка будет содержать электронной почты и третий один будет иметь идентификатор.

Я использовал весь юридический символ по электронной почте, в реальной жизни очень редко можно использовать smeting, как ? в адресе.

Смежные вопросы