我以html字符串格式收到服务的输出,如下所示:
"<html>↵<h1>↵Example : ↵<br>Explanation↵</h1>↵<hr>↵<b>key1 : ABCD <br>key2 : 2016-10-18-18-38-29<br>Output: /acddfd/example</b>↵</html>↵"
然后我解析html以获取标记<b>
,如下所示:
var input="<html>↵<head>↵<h1>↵Example : ↵<br>Explanation↵</h1>↵<hr>↵<b>key1 : ABCD <br>key2 : 2016-10-18-18-38-29<br>Output: /acddfd/example</b>↵</html>↵";
var parsed= $.parseHTML(input);
然后我发现解析为一个html标签数组:
<b>key1 : ABCD <br>Date : 2016-10-18-18-38-29<br>Output: /acddfd/example</b>
现在我需要获取日期的值以便进一步操作
任何人都可以帮助我使用js / jquery获取日期(例如2016-10-18-18-38-29
)的值吗?
答案 0 :(得分:3)
使用此正则表达式
var Date= str.match(/(\d{4})-(\d{2})-(\d{2})-(\d{2})-(\d{2})-(\d{2})/g);
答案 1 :(得分:1)
您可以使用Node.nextSibling
属性在元素后面获取兄弟文本。它返回Date : 2016-10-18-18-38-29
,您需要从字符串中删除其他部分。
使用String.prototype.split()
获取:
字符后的字符串。
$(parsed).find("br:first")[0].nextSibling.textContent.split(":")[1].trim();
var date = $("b > br:first")[0].nextSibling.textContent.split(":")[1].trim();
console.log(date);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<b>key1 : ABCD <br>Date : 2016-10-18-18-38-29<br>Output: /acddfd/example</b>
答案 2 :(得分:1)
var myString = "<b>key1 : ABCD <br>Date : 2016-10-18-18-38-29<br>Output: /acddfd/example</b>";
//Break string from date
var myDate = myString.substr(myString.indexOf("Date : ")+"Date : ".length);
//Remove string after date
myDate = myDate.substr(0,myDate.indexOf("<br>"));
console.log(myDate);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 3 :(得分:0)
您可以使用以下代码
var input="<html>↵<head>↵<h1>↵Example : ↵<br>Explanation↵</h1>↵<hr>↵<b>key1 : ABCD <br>key2 : 2016-10-18-18-38-29<br>Output: /acddfd/example</b>↵</html>↵";
var b_text = $(input).find( 'h1' ).text();