如何在JS中查找页面上的符号并获取两个符号之间的值

How to find symbols on a page and get a values between the two symbols in JS?

本文关键字:符号 获取 之间 两个 查找 JS      更新时间:2023-09-26

某些页面已插入机密文本,此页面上的JS脚本应获得两个字符之间的值,例如字符@@之间的值。在这个变体中,@@569076@@-569076应该接收。

以下是我尝试过的:

<div id="textDiv"></div>
<script>
    var markup = document.documentElement.outerHTML;
    var div = document.getElementById("textDiv");
    div.textContent = markup.match(/@@([^@]*)@@/);
    var text = div.textContent;
</script> 

但没有显示

问题是match函数返回一个匹配值的数组,而textContent只接受一个字符串。

因此,您必须选择要用于文本的数组项内容分配:

div.textContent = markup.match(/@@('d+)@@/)[1];

请注意,我们使用matches数组中的[1]选择了第一个捕获的项目

如果字符串中有空格,只需在匹配项目列表中添加一个空格,如下所示:

var markup =  '@@56 90 76@@';
alert( markup.match(/@@(['d ]*)@@/)[1]);

您应该将文本/代码放入一个变量中。您可以用自己的身体选择器代替身体选择器。

普通JS:

var html = document.getElementsByTagName('body')[0].innerHtml,
    match = html.match(/@@('d+)@@/),
    digits;
if (match) {
    digits = match[1];
}

如果你使用的是jQuery和类似的shortands:

var digits, match;
if (match = $('body').html().match(/@@('d+)@@/)) {
    digits = match[1];
}