Equivalent of ASP's .Contains method
JavascriptJqueryStringJavascript Problem Overview
> Possible Duplicate:
> JavaScript: string contains
> Jquery: How to see if string contains substring
In ASP .NET C# I use:
string aa = "aa bb";
if (aa.Contains("aa"))
{
//Some task
}
I want to same thing in client side means in JQuery. Something like below:
var aa = "aa bb";
if(aa. -----want help here){
}
Is there any method to do this?
Javascript Solutions
Solution 1 - Javascript
Use the String.indexOf()
MDN Docs method
if( aa.indexOf('aa') != -1 ){
// do whatever
}
Update
Since ES6, there is a String.includes()
MDN Docs so you can do
if( aa.includes('aa') ){
// do whatever
}
Solution 2 - Javascript
You don't need jQuery for this. It can be achieved with simple pure JavaScript:
var aa = "aa bb";
if(aa.indexOf("aa") >= 0){
//some task
}
The method indexOf
will return the first index of the given substring in the string, or -1 if such substring does not exist.
Solution 3 - Javascript
C#'s implementation of .Contains
is actually a wrapper on it's implementation of .IndexOf
. Therefore you can create your own .Contains
function in javascript like this:
String.prototype.Contains = function (s) {
return this.indexOf(s) != -1;
}
Solution 4 - Javascript
In Javascript you use indexOf for that.
var aa = "aa bb";
if(aa.indexOf('aa') != -1)
{
}
> But remember that indexOf is case sensitive.
you can create your own contains
method using prototype that
can, if you want, handle that.
String.prototype.contains = function(value, ignorecase) {
if (ignorecase) {
return (this.toLowerCase().indexOf(value.toString().toLowerCase()) != -1);
}
else {
return this.indexOf(value) != -1;
}
};
alert("aa bb".contains("aa"))
Source: 'contains' method in javascript, extend the String prototype and add your own methods.
Solution 5 - Javascript
You can use a regular expression for more complex scenarios, or indexOf for simple ones.
if (aa.match(/a(b|c)a/)) {
}
or
if (aa.indexOf('aa') >= 0) {
}
Solution 6 - Javascript
Since Java 5, contains()
also exists and can be used the same way.