Javascript: объявление переменных из RegEx, запись в cookie - PullRequest
1 голос
/ 09 сентября 2010

Этот вопрос состоит из двух частей.

Во-первых, мне нужно выделить две строки текста внутри диапазона с классом "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@address.com (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>

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

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

Ответы [ 2 ]

1 голос
/ 15 марта 2011

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

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

  • Необходимые данные всегда находятся в последнем ТД (хотя их легко изменить, проще всего добавить идентификатор в ТД).
  • Данные 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, '');
});

Рабочая JSFiddle

Чтобы установить куки с помощью jQuery, ознакомьтесь с этой статьей о плагине Cookie .

1 голос
/ 15 марта 2011

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

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

Затем вы повторяете матчи с:

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...