使用“^”检查字符串是否以另一个字符串开头?

时间:2012-01-13 07:55:22

标签: javascript

  

可能重复:
  javascript - check if string begins with something?

我在this post中读到你可以使用^ =检查一个字符串是否以某些东西开头。

我摆弄了这个例子:

var foo = "something-something";
if(foo ^= "something") {
    alert("works!");
}
else{
    alert("doesn't work :(");
}

它不起作用 - 有人怎么做?

jsfiddle示例:http://jsfiddle.net/timkl/M6dEM/

3 个答案:

答案 0 :(得分:10)

我想,也许,你在考虑:

var x = "hello world!"
if (x.match(/^hello/)) {
   alert("I start with it!")
}

这使用一个锚定的(^)正则表达式:它必须在输入的开头找到“hello”才能匹配。

另一方面,x ^= "foo"x = x ^ "foo"相同,或者是逐位排他性的。在这种情况下,相当于x = "something-something" ^ "something" - > x = 0 ^ 0 - > 0(这是一个假值,永远不会是真的)。​​

快乐的编码。

答案 1 :(得分:8)

   var foo = "something-something";
if(foo.indexOf("something") === 0) {
    alert("works!");
}
else{
    alert("doesn't work :(");
}

请参阅更新的jsfiddle http://jsfiddle.net/M6dEM/3/

答案 2 :(得分:5)

使用substring()方法。

if(foo.substring(0,"something".length) == "something") {
    alert("works!");
}
else{
    alert("doesn't work :(");
}

我编辑了我的答案,用“东西”替换了“9”。长度,所以现在没有硬编码了。