- 使用场景:后端返回带有标签的字符串,前端只需标签内部的值。
var str = "<span id='detail' style='color:red;'>查看详情</span>";
思路:利用正则表达式,找出标签,然后用空字符串替换。
var pattern = /<[^>]+>/g;
str.match(pattern ); // 返回匹配到的标签数组 ["<span id='detail' style='color:red;'>", "</span>"]
判断是否有标签,完成替换取值
var str2= str.match(pattern ) && str.match(pattern ).length > 0 ? str.replace(/<[^>]+>/g, "") : str;//str2 = "查看详情"
参考文档链接:js解析带html标签的字符串
- 使用场景:后端返回带有标签的字符串,前端需取标签内的属性值,例如跳转链接。
var str ='内容信息……"<span id="evt-skip" data-link="www.baidu.com">www.baidu.com</span>';
var linkReg = /data-link=[\'\"]?([^\'\"]*)[\'\"]?/i; //匹配地址跳转链接的正则
var linkArr = str.match(linkReg);
输出linkArr
linkArr[1]为想要取的标签里的属性值,用于后续的操作。