2016-09-30 58 views
-1

我需要您的帮助,查明一个字符串中是否存在匹配

使用javascript,如何找出匹配是否在字符串中?

var x = "APPLE-PEAR/BANANA and ORANGE & LEMON" 

所以,我需要一个函数,让我检查价值y对价值x。

值来搜索:

y = "PEAR" 

if (y matches the string in x) then return true 
+2

你尝试过什么?我的意思是,JavaScript确实有['includes'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes)方法... –

+0

@MikeMcCaughan,[ '.includes()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes)目前是一个不好的建议。它最近被添加到JavaScript中,并且[在较旧的浏览器(例如IE,Opera)中受到限制/不支持](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String /包括#Browser_compatibility)。在几年/几年内,它会很好用。现在['.indexOf()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf)将是更好的建议。 – Makyen

+0

@Makyen。这是一条评论,而不是一个答案。此外,该浏览器支持链接已过时。请参阅[此列表](http://kangax.github.io/compat-table/es6/#test-String.prototype_methods_String.prototype.includes)以获取更多更新列表。也就是说,我的评论主要是关于让OP在询问之前尝试一些事情,但是由于他们现在因为缺乏研究而被授予答案,因此它有点没有实际意义。 –

回答

0
var x = "APPLE-PEAR/BANANA and ORANGE & LEMON" 
y = "PEAR" 
// Checks if string x having string y 
if(x.includes(y)) { console.log("MATCH FOUND"); return true; } 
// Returns index of string y in x , -1 if not present 
if(x.indexOf(y) > -1) { console.log("MATCH FOUND"); return true; } 

有这样做的许多方面。请阅读Javascript字符串对象的文档

+0

他希望它返回true,所以我将编辑console.log以返回true。 –

+0

我们不应该离开_something_让OP做大声笑吗?我已更新 – nikjohn

+0

'if(x.indexOf(y))'这是不正确的。结果是字符串中的位置,所以如果一个字符串_starts_带有搜索项,返回的值将是零,这是falsey,因此不会通过'if'检查。 – vlaz

0

使用String#indexOf

indexOf()方法返回指定值的第一次出现的调用String对象的索引,开始的fromIndex搜索。如果未找到该值,则返回-1

var x = "APPLE-PEAR/BANANA and ORANGE & LEMON", 
 
    y = "PEAR"; 
 
console.log(x.indexOf(y) !== -1); //If true, exist

相关问题