Javascript:与正则表达式或其他方式进行比较

标签 javascript regex compare

我知道我可以做 /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 时,您正在将字符串与 RegExp 对象进行比较,这没有意义,并且会产生意外的结果。

如果str包含zZ,则/z/i.test(str)返回true。

如果您需要使用非正则表达式的方式来检查相同的条件,请使用

if (z.toLowerCase().indexOf("z") > -1)

如果您需要检查字符串是否等于zZ,您可以使用

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'";
}

关于Javascript:与正则表达式或其他方式进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35441752/

相关文章:

java - 如何在没有java utils的情况下比较两个字符串数组

c++ - C++设置唯一性和顺序

javascript - 什么时候一个函数只能被调用一次?

javascript - 使用javascript/html5即时生成声音

php - 如何检查字符串是否包含任何语言的字母?

python - 如何将多个参数传递给 Google App Engine python 中的处理程序?

iphone - 在 Objective-c 中,比较 2 个 BOOL 值的安全和好方法?

javascript - 将 Bootstrap 可点击行与 href 链接连接起来

javascript - canvas.drawImage() 仅渲染源图像的上半部分

正则表达式允许以逗号分隔的代码列表