我收到的代码中包含一些包含一些html标记的字符串。它不是HTML页面的一部分,因此我无法使用DOM获取html标记内容(即document.getElementById('tag id').firstChild.data);
因此,例如在文本字符串中会出现如下标记:
<span id='myQty'>12</span>
我的问题是如何在此示例中使用正则表达式来访问“12”数字?该数量可以是任意数量的数字(即它不总是一个两位数)。
我尝试了一些正则表达式,但总是最终获得与内容一起返回的完整span标记。我只想要上面示例中的“12”,而不是周围的<span>
标记。在我收到的文字字符串中,<span>
代码的ID始终为“myQty”。
提前感谢您的帮助!
答案 0 :(得分:0)
var testfunction = function (input) {
var regvar = new RegExp(/^(<span id\='myQty'>\w+<\/span>)$/);
if (regvar.test(input) === true) {
input = input.slice(6, input.length - 7);
}
return input;
}
答案 1 :(得分:0)
由于您只是尝试从特定标记结构中获取特定值,而不是尝试使用正则表达式来剥离HTML标记:
var myQtyMatch = str.match(/<span id='myQty'>(\d+)<\/span>/);
if (myQtyMatch) {
var myQty = myQtyMatch[1];
// myQty now holds the value between the <span> tags.
}