【发布时间】:2023-03-16 09:00:01
【问题描述】:
与我的问题here有关。
我有一个 JavaScript 语句如下:
<script type="text/javascript">
var u1 = '%pu1=!;';
if (u1.search('NBSLoan|Accept') > -1)
{
var pvnPixel = '<img src="someurl.com"/>';
document.writeln(pvnPixel);
}
if (u1.indexOf('NBSLoan|Refer') > -1)
{
var pvnPixel2 = '<img src="someurl2.com"/>';
document.writeln(pvnPixel2);
}
if (u1.indexOf('DeBSLoan|Accept') > -1) {
var pvnPixel3 = '<img src="someurl3.com"/>';
document.writeln(pvnPixel3);
}
</script>
鉴于u1 变量是一个可能包含以下任何值的宏:
NBSLoan|Accept|PPI+No|48MonthsNBSLoan|Refer|PPI+No|48MonthsNBSLoan|Accept|PPI+No|48MonthsNBSLoan|Refer|PPI+No|48Months
还要记住最后一部分(48 个月)可能会发生变化,如何编写只检查字符串第一部分的 JavaScript 语句?即是否是“NBSLoan|Accept”等?
如果您将上述语句放在 JSFiddle 中,是的,它确实有效,但我向您保证(在现场)这不起作用,因此我正在探索编写此语句的其他可能性。我可以这样做吗:
if (u1.search(/NBSLoan|Accept/)?这甚至可以与模式匹配正常工作吗?目前发生的情况是,如果u1 等于NBSLoan|Accept,则 url1 和 url2 都将被触发。我做错了什么?
【问题讨论】: