簡體   English   中英

如何將通配符字符串與javascript進行比較

[英]how to compare wildcard string with javascript

我想比較兩個字符串,一個是通配符與 javascript。

我正在檢查是否在網頁上找到了這個字符串。

<div class="Modal A2aModalStep Step">並在變量 k 中檢索它。

並想比較它。

喜歡

if ( k == "<div class=\"Modal A2aModalStep Step\">") {
  //some code
} 

但問題是類名會隨機改變它的位置,就像有時step Model A2aModalStepA2aModalStep Step Model等......

所以,我想比較

if ( k == "<div class=\"[Model|A2aModalStep|Step] [Model|A2aModalStep|Step] [Model|A2aModalStep|Step]\">"){
  //some code
} 

我在 imacros 中使用這個 javascript,所以不能使用預定義的函數。 必須在使用運算符和變量的純 javascript 比較中

如果您有權訪問網頁本身,請使用 DOM 方法查找具有這 3 個類的元素是否存在:

const div = document.querySelector('.Modal.A2aModalStep.Step');
if (div) {
  // some code
}

選擇器字符串不關心類的順序。

如果您無法使用任何 DOM 方法,我想您可以改用正則表達式:在匹配" ,先行查找[^"]*\\bModal\\b[^"]*\\bA2aModalStep ,以及對於[^"]*\\bStep

 const check = str => /div class="(?=[^"]*\\bModal)(?=[^"]*\\bA2aModalStep)(?=[^"]*\\bStep)/.test(str); console.log(check("<div class=\\"Modal A2aModalStep Step\\">")); console.log(check("<div class=\\"Modal Step A2aModalStep\\">")); console.log(check("<div class=\\"Modal A2aModalStep\\">"));

暫無
暫無

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

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