我有一个信用卡字段,用于填充<span>
标记,例如
<span>****-****-****-1111 (Expires 12/2012)</span>
我需要提取日期并查明它是否过去。
目前我有下面的jQuery但是我被困在split()的位置以提取日期。
var $selectedDate = $('.prev-card .chzn-container .chzn-single span').text().split();
var $now = new Date();
if ($selectedDate < $now) {
alert('past')
}
else{
alert('future')
}
我认为这涵盖了一切,但随时可以要求更多信息
答案 0 :(得分:2)
试试这个:
var selectedDate = $("...").text().match(/Expires (\d+)\/(\d+)/),
expires = new Date(selectedDate[2],selectedDate[1]-1,1,0,0,0),
now = new Date();
if( expires.getTime() < now.getTime()) alert("past");
else alert("future");
答案 1 :(得分:1)
对Kolink的答案的小修正:
var selectedDate = $("...").text().match(/Expires (\d+)\/(\d+)/),
expires = new Date(selectedDate[2],selectedDate[1]-1,1,0,0,0),
now = new Date();
if( expires.getTime() < now.getTime()) alert("past");
else alert("future");
(regexp不需要引号)
答案 2 :(得分:0)
我不会拆分它。我会使用正则表达式:
var value = $('.prev-card .chzn-container .chzn-single span').text();
/\d+\/\d+/.exec(value) //["12/2012"]