In many of the server-side programming languages like C#, the String object has a "Contains" method that returns a boolean indicating if the string contains another specified string. JavaScript however does not have a ".contains" method. Fortunately, the ".indexOf" method in JavaScript can easily be used to mimic or build your own ".contains" method.
Simple JavaScript String Contains Method
Here's a simple implementation of a ".contains" function that is case sensitive:
function contains(value, searchFor) { return (value || '').indexOf(searchFor) > -1; }
Sample Usage:
// returns true var v1 = contains('one value', 'value'); // returns false var v2 = contains('another value', 'two');
Something to note about the above method is that it implements a JavaScript Null Coallesce to prevent the method from throwing an exception if 'null' or 'undefined' are passed in. This may or may not be necessary for your use, but most times a false result is preferred over a JavaScript exception.
Make it Ignore Case
To make it ignore case you just need to modify the function to convert the passed in strings to be either all uppercase or all lowercase. Here's a modified version that does this:
function contains(value, searchFor) { var v = (value || '').toLowerCase(); var v2 = searchFor; if (v2) { v2 = v2.toLowerCase(); } return v.indexOf(v2) > -1; }