我知道我可以做/z/i.test(str)
,我也可以与两个str === z || tre === Z
进行比较,只是我很好奇是否有这样的短线
if (str === /z/i) { do the dew }
上面的行不应该检查str
是否包含z|Z
而是检查它是否等于z|Z
。
谢谢:)
JavaScript没有
=~
运算符(如Perl,Ruby等(。
当你写str === /n|z/i
时,你正在将字符串与正则表达式对象进行比较,这没有意义,会产生意想不到的结果。
如果/z/i.test(str)
包含z
或Z
,则str
返回 true。
如果您需要使用非正则表达式方法来检查相同的条件,请使用
if (z.toLowerCase().indexOf("z") > -1)
如果需要检查字符串是否等于 z
或 Z
,则可以使用
if (z.toUpperCase() === "Z")
示例演示:
z = "Zoe";
if (z.toLowerCase().indexOf("z") > -1) {
document.body.innerHTML = "'Z' or 'z' is present in 'Zoe'.<br/>";
}
z = "z";
if (z.toUpperCase() === "Z") {
document.body.innerHTML += "The string is equal to 'z' or 'Z'";
}