从HTML获取字符串

时间:2011-10-07 16:36:28

标签: javascript

我需要从下面的HTML中获取日期(就像字符串一样):

<div class="patNameAddress">
<strong>Lastname, Firstname</strong><br />
Stree Address<br />
City ST Zip<br />
<br />
EXP DATE:10-08-2011<br />
<div>

日期字符串始终采用mm-dd-yyyy格式,并且始终以EXP DATE开头:

如何在页面上找到此字符串并将其返回以用作变量?

4 个答案:

答案 0 :(得分:9)

var matches = text.match(/EXP DATE:(\d{2}-\d{2}-\d{4})/));

matches[1]仅包含日期,matches[0]包含整个匹配(即包含EXP DATE:)。

答案 1 :(得分:1)

将日期放在一个范围内<span class='date'>10-08-2011</span>,然后使用jQuery,您可以使用

检索它
$(function(){
    alert($(".patNameAddress .date").text());
});

答案 2 :(得分:1)

使用jQuery:

function findDates(){
    var dates = [];
    $('.patNameAddress').each(function(){
        date_temp = $(this).html().match(/EXP DATE\:(\d{2}-\d{2}-\d{4})/);
        if (date_temp.length) dates.push(date_temp[1])
    });
    return dates;
}

奖金:Fiddle!

答案 3 :(得分:1)

这可以完成工作:

[].map.call( div.childNodes, function ( node ) {
    return node.nodeType === 3 ? node.data : '';
}).join( '' ).match(/EXP DATE:(.+)/)[1].trim()

其中div是对该DIV元素的引用。

现场演示: http://jsfiddle.net/2ahmy/1/

注意:如果您在没有“EXP DATE:”文本的DIV上运行此代码,该代码将会中断。