我在this post中读到你可以使用^ =检查一个字符串是否以某些东西开头。
我摆弄了这个例子:
var foo = "something-something";
if(foo ^= "something") {
alert("works!");
}
else{
alert("doesn't work :(");
}
它不起作用 - 有人怎么做?
jsfiddle示例:http://jsfiddle.net/timkl/M6dEM/
答案 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”。长度,所以现在没有硬编码了。