如何将通配符字符串与 javascript 进行比较
how to compare wildcard string with javascript
我想比较两个字符串,一个是通配符 javascript。
我正在检查是否在网页上找到了这个字符串。
<div class="Modal A2aModalStep Step">
并在变量 k.
中检索它
想比较一下
喜欢
if ( k == "<div class=\"Modal A2aModalStep Step\">") {
//some code
}
但问题是 class 名称会随机更改其位置,例如有时 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\">"));
我想比较两个字符串,一个是通配符 javascript。
我正在检查是否在网页上找到了这个字符串。
<div class="Modal A2aModalStep Step">
并在变量 k.
想比较一下
喜欢
if ( k == "<div class=\"Modal A2aModalStep Step\">") {
//some code
}
但问题是 class 名称会随机更改其位置,例如有时 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\">"));