Определение наличия в строке подстроки (слова) - PullRequest
0 голосов
/ 03 октября 2011

Я пытаюсь использовать условное выражение, чтобы проверить, содержит ли строка определенное слово, например: Я хочу использовать метод (регулярное выражение?), Чтобы найти, если строка имеет текст "&SWE>clickable".

var text1 = "layer_legs";
var text2 = "layer_head&SWE>clickable";

if (....)
   document.write ("the layer is clickable")
else
   document.write ("the layer is not clickable")

Как я могу это сделать?

Ответы [ 5 ]

2 голосов
/ 03 октября 2011
 if (text2.indexOf("&SWE>clickable") > -1) {
    ....
2 голосов
/ 03 октября 2011

Вы можете использовать String.indexOf. Возвращает -1, если строка не найдена, в противном случае возвращает индекс, в котором была найдена строка. Вы можете использовать это так:

if (s.indexOf("&SWE>clickable") !== -1) { ... }
0 голосов
/ 03 октября 2011
 if(text1.indexOf(text2)) 
    document.write ("the layer is clickable") 
 else 
    document.write ("the layer is not clickable")
0 голосов
/ 03 октября 2011

попробуйте это:

if (text1.indexOf('&SWE>clickable')>=0){ ... }

или регулярное выражение:

var re = new RegExp('\&SWE\>clickable')
if (re.test(text1)){ ... }
0 голосов
/ 03 октября 2011
if (/&SWE>clickable/g.test(text2)) {
    // exists
}

РЕДАКТИРОВАТЬ: использование indexOf, как другие опубликовали, может быть лучше, так как он более читабелен и вам не нужно экранировать символы. И возможно быстрее: /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...