Javascript包含大小写不敏感
我有以下几点:
if (referrer.indexOf("Ral") == -1) { ... }
我喜欢做的是让Ral
区分大小写的,所以它可以RAl
, rAl
等,仍然匹配。
有没有办法说Ral
必须不区分大小写?
在referrer
后添加.toLowerCase()
。 此方法将字符串转换为小写字符串。 然后,使用.indexOf()
使用ral
而不是Ral
。
if (referrer.toLowerCase().indexOf("ral") === -1) {
使用正则表达式也可以实现同样的效果(当您想要针对动态模式进行测试时特别有用):
if (!/Ral/i.test(referrer)) {
// ^i = Ignore case flag for RegExp
另一种选择是使用搜索方法如下:
if (referrer.search(new RegExp("Ral", "i")) == -1) { ...
它看起来更优雅,然后将整个字符串转换为小写字母,并且可能更高效。
使用toLowerCase()
,代码在字符串上有两个传递,一个传递在整个字符串上将其转换为小写,另一个传递给查找所需的索引。
使用RegExp
,代码只有一个字符串,它看起来与所需的索引匹配。
因此,对于长字符串,我建议使用RegExp
版本(我想对于短字符串,这种效率来自于创建RegExp
对象的帐户)
使用RegExp:
if (!/ral/i.test(referrer)) {
...
}
或者,使用.toLowerCase()
:
if (referrer.toLowerCase().indexOf("ral") == -1)
链接地址: http://www.djcxy.com/p/75189.html