Javascript 正则表达式返回作为文本字符串接收的HTML标记的内容
我收到的代码中有一个字符串,其中包含一些html标记。它不是显示的HTML页面的一部分,因此我无法使用DOM(即Javascript 正则表达式返回作为文本字符串接收的HTML标记的内容,javascript,regex,Javascript,Regex,我收到的代码中有一个字符串,其中包含一些html标记。它不是显示的HTML页面的一部分,因此我无法使用DOM(即document.getElementById('tagid').firstChild.data)获取HTML标记内容 例如,在文本字符串中会出现如下标记: <span id='myQty'>12</span> 12 我的问题是如何使用正则表达式来访问本例中的“12”数字?该数量可以是任意位数(即,它并不总是两位数) 我尝试过一些正则表达式,但最终总是得到
document.getElementById('tagid').firstChild.data)获取HTML标记内容代码>
例如,在文本字符串中会出现如下标记:
<span id='myQty'>12</span>
12
我的问题是如何使用正则表达式来访问本例中的“12”数字?该数量可以是任意位数(即,它并不总是两位数)
我尝试过一些正则表达式,但最终总是得到与内容一起返回的完整span标记。我只想要上面示例中的“12”,而不是周围的
标记。
标记的id在我收到的文本字符串中始终为“myQty”
提前感谢您的帮助 var testfunction=函数(输入){
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;
}
var regvar=new RegExp(/^(\w+$/);
if(regvar.test(输入)==true){
input=input.slice(6,input.length-7);
}
返回输入;
}
由于您只是尝试从特定标记结构内部获取特定值,而不是尝试使用正则表达式剥离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.
}
var myQtyMatch=str.match(/(\d+/);
if(myQtyMatch){
var myQty=myQtyMatch[1];
//myQty现在保存标记之间的值。
}
不要这样做。别这样@David Dorward为时已晚,守护进程已经觉醒…:)谢谢大家的快速帮助。。。我实际上实现了乔恩的逻辑。工作得很好!