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