[英]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.