简体   繁体   中英

Determining whether a string has a substring (word)

I try to use a conditional to verify if a string contain a certain word, for example: I want to use a method (regex?) to find if a string has the text "&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")

How can I do that?

You can use String.indexOf . It returns -1 if the string is not found, otherwise it returns the index where the string was found. You can use it like this:

if (s.indexOf("&SWE>clickable") !== -1) { ... }
 if (text2.indexOf("&SWE>clickable") > -1) {
    ....
if (/&SWE>clickable/g.test(text2)) {
    // exists
}

EDIT: Using indexOf like others have posted might be better, since it's more readable and you don't need to escape characters. And arguably faster :/

try this :

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

or regex way :

var re = new RegExp('\&SWE\>clickable')
if (re.test(text1)){ ... }
 if(text1.indexOf(text2)) 
    document.write ("the layer is clickable") 
 else 
    document.write ("the layer is not clickable")

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM