您好我是javascript的新手,我想知道如何删除除 TB_iframeContent800 这个词以外的所有文字。最后的数字各不相同。
这是一个示例字符串
<iframe frameborder="0" style="width: 670px; height: 401px;" onload="tb_showIframe()" name="TB_iframeContent80" id="TB_iframeContent" src="http://www.gorgeoushentai.com/wp-admin/media-upload.php?post_id=33&" hspace="0">This feature requires inline frames. You have iframes disabled or your browser does not support them.</iframe>
我想提取 TB_iframeContent80 并将其存储为变量。那么如何使用正则表达式使用javascript来做到这一点?请注意最后2位数字的不同会导致数字始终发生变化,因此有时会变为3位数字。
答案 0 :(得分:4)
var iframeName = document.getElementsByTagName("iframe")[0].name
如果您包含jQuery,那么它可能是这样的:
var iframeName = $("iframe:first").attr("name");
答案 1 :(得分:1)
如果jQuery是一个选项,我认为你正在寻找像这样的东西
$('iframe[name^="TB_iframeContent"]')
答案 2 :(得分:1)
如果您不使用DOM(因为代码分析等),请尝试使用此正则表达式
var code = '<iframe ... /iframe>';
var result = code.match( /name="([^"]*)"/ );
var extract = result[1];
这将选择名称属性的内容
答案 3 :(得分:1)
你可以加载你这样解析的html并使用DOM来获取它的名字(它比使用正则表达式更简单,更可靠):
var loadhtml = document.createElement('div');
loadhtml.innerHTML = 'yourHtml';
var theName = loadhtml.getElementsByTagName('iframe')[0].name;
如果您使用Jquery,您可以将attr(“name”)视为获取名称的方式
但是,如果你坚持使用正则表达式,那么就是一个:
/< *iframe[^>]*name *= *['"]([^'"]*)/