我有以下几点:
if (referrer.indexOf("Ral") == -1) { ... }
我喜欢做的是使Ral不区分大小写,这样它可以是Ral, Ral等,仍然匹配。
有办法说拉尔必须不区分大小写吗?
我有以下几点:
if (referrer.indexOf("Ral") == -1) { ... }
我喜欢做的是使Ral不区分大小写,这样它可以是Ral, Ral等,仍然匹配。
有办法说拉尔必须不区分大小写吗?
当前回答
如果referrer是一个数组,则可以使用findIndex()
if(referrer.findIndex(item => 'ral' === item.toLowerCase()) == -1) {...}
其他回答
这里有几种方法。
如果您希望仅对该实例执行不区分大小写的检查,请执行如下操作。
if (referrer.toLowerCase().indexOf("Ral".toLowerCase()) == -1) {
...
或者,如果定期执行这种检查,可以向String添加一个新的类似indexOf()的方法,但要使其不区分大小写。
String.prototype.indexOfInsensitive = function (s, b) {
return this.toLowerCase().indexOf(s.toLowerCase(), b);
}
// Then invoke it
if (referrer.indexOfInsensitive("Ral") == -1) { ...
使用RegExp:
if (!/ral/i.test(referrer)) {
...
}
或者,使用.toLowerCase():
if (referrer.toLowerCase().indexOf("ral") == -1)
以下是根据ES6按性能降序排列的选项
包括
if (referrer.toLowerCase().includes("Ral".toLowerCase())) { ... }
IndexOf(这有时会给出类似或更好的结果比Includes)
if (referrer.toLowerCase().indexOf("Ral".toLowerCase()) !== -1) { ... }
匹配
if (referrer.match(new RegExp("Ral", 'i'))) { ... }
基准测试结果:https://jsben.ch/IBbnl
你可以试试这个
str = "哇,太酷了" searchStr = "CoOl" console.log (str.toLowerCase()其中包括(searchStr.toLowerCase ()))
任何语言的例子:
'My name is Хведор'.toLocaleLowerCase().includes('ХвЕдОр'.toLocaleLowerCase())