我有以下几点:
if (referrer.indexOf("Ral") == -1) { ... }
我喜欢做的是使Ral不区分大小写,这样它可以是Ral, Ral等,仍然匹配。
有办法说拉尔必须不区分大小写吗?
我有以下几点:
if (referrer.indexOf("Ral") == -1) { ... }
我喜欢做的是使Ral不区分大小写,这样它可以是Ral, Ral等,仍然匹配。
有办法说拉尔必须不区分大小写吗?
当前回答
这里有几种方法。
如果您希望仅对该实例执行不区分大小写的检查,请执行如下操作。
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) { ...
其他回答
在ES2016中,你还可以使用稍微更好/更简单/更优雅的方法(区分大小写):
if (referrer.includes("Ral")) { ... }
或(不区分大小写):
if (referrer.toLowerCase().includes(someString.toLowerCase())) { ... }
下面是.indexOf()和.includes()的比较: https://dev.to/adroitcoder/includes-vs-indexof-in-javascript
以下是我的看法:
脚本:
var originalText = $("#textContainer").html()
$("#search").on('keyup', function () {
$("#textContainer").html(originalText)
var text = $("#textContainer").html()
var val = $("#search").val()
if(val=="") return;
var matches = text.split(val)
for(var i=0;i<matches.length-1;i++) {
var ind = matches[i].indexOf(val)
var len = val.length
matches[i] = matches[i] + "<span class='selected'>" + val + "</span>"
}
$("#textContainer").html(matches.join(""))
HTML:
<input type="text" id="search">
<div id="textContainer">
lorem ipsum is simply dummy text of the printing and typesetting industry. lorem ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of letraset sheets containing lorem ipsum passages, and more recently with desktop publishing software like Aldus pagemaker including versions of lorem ipsum.</div>
Codepen
在referrer后添加. touppercase()。此方法将字符串转换为大写字符串。然后,使用. indexof()使用RAL代替RAL。
if (referrer.toUpperCase().indexOf("RAL") === -1) {
使用正则表达式也可以达到同样的效果(当你想测试动态模式时特别有用):
if (!/Ral/i.test(referrer)) {
// ^i = Ignore case flag for RegExp
这样更好~!
if (~referrer.toUpperCase().indexOf("RAL")) {
console.log("includes")
}
任何语言的例子:
'My name is Хведор'.toLocaleLowerCase().includes('ХвЕдОр'.toLocaleLowerCase())