2012-01-13 9 views
2

Можно создать дубликат:
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/

+2

Вы прочитали какие-либо из * ответов * в этом сообщении, с которым вы связались? –

+0

Я отменил редактирование, которое добавило тег jQuery, поскольку в jQuery нет упоминания о любом вопросе. –

ответ

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

Смотрите обновленный jsfiddle http://jsfiddle.net/M6dEM/3/

5

Используйте подстроку().

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

Я отредактировал мой ответ и заменить «9» с «что-то» .length так что теперь нет никакого жёстко больше.

9

Я думаю, что, может быть, вы думали:

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

Это использует привязанный (^) регулярное выражение: он должен найти "привет" в начало ввода для соответствия.

С другой стороны, x ^= "foo" - это то же самое, что и x = x^"foo", или по-разному эксклюзивный или. В этом случае это эквивалентно x = "something-something"^"something" ->x = 0^0 ->0 (что является ложным значением и никогда не является истинным).

Счастливое кодирование.

Смежные вопросы