簡體   English   中英

如何在頁面上查找符號並在JS中的兩個符號之間獲取值?

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

某些頁面已插入秘密文本,並且此頁面上的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> 

但是什么也沒顯示

您應該將文本/代碼放入變量中。 您可以用自己的身體選擇器代替。

普通JS:

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

if (match) {
    digits = match[1];
}

如果您使用的是jQuery,並且喜歡短褲:

var digits, match;

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

問題在於match函數返回匹配值的數組,而textContent只接受一個字符串。

因此,您必須選擇要用於textContent分配的數組項:

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

請注意,我們使用matchs數組中的[1]選擇了第一個捕獲的項目

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM