I am trying to evaluate if a string is equal to one of these symbols |\~+
But this doesn't work:
var a = 'abcted',
    b = '|\~+';
if( a !== b ){
}
So if a is equal to one of the symbols in b, is evaluates to false.
I am trying to evaluate if a string is equal to one of these symbols |\~+
But this doesn't work:
var a = 'abcted',
    b = '|\~+';
if( a !== b ){
}
So if a is equal to one of the symbols in b, is evaluates to false.
 
    
     
    
    You can simply check if one string contains another using the method indexOf:
var b = '|\~+';
if (b.indexOf(a) == -1) {
  // b doesn't contain a
}
A new suggestion is made for the function includes, which would work like this, but not (yet) in many browsers.
var b = '|\~+';
if (!b.includes(a)) {
  // b doesn't contain a
}
 
    
    You can use Regular Expression to solve this, like this
if (/[|\\~\+]/.test(a) === false) {
    // `a` doesn't contain any of the symbols.
}
[|\\~\+] checks if any of the characters in the character group is in a. If none of them are there then test will return false.
console.log(/[|\\~\+]/.test("abcted"));
// false
console.log(/[|\\~\+]/.test("abc|ted"));
// true
console.log(/[|\\~\+]/.test("abc\\ted"));
// true
console.log(/[|\\~\+]/.test("abc~ted"));
// true
console.log(/[|\\~\+]/.test("abc+ted"));
// true
 
    
    I prefer to use RegEx where possible, but for those who are not wanting to:
var a = 'abcted',
    b = '|\~+';
for (var i = 0, len = b.length; i < len; i++) {
    if (a.indexOf(b[i]))  
    {   
        alert(b[i]);
    }
}
