For JavaScript you want /[+=<>()%*|]|\!=|-{2}/, usage:
new RegExp(/[+=<>()%*|]|!=|-{2}/).test('this!=that');
And in PHP '/[+=<>()%*|]|!=|-{2}/', usage:
preg_match('/[+=<>()%*|]|!=|-{2}/','this!=that');
There is no need to put | (or operator) in your [] (character class) unless you want to match that specific character - this is assumed. Also note that character classes cannot contain a sequence/series of characters; you'll need to break those out and use | to separate the phrases. Here is a breakdown of the regex:
- /- start delimiter
- [+=<>()%*|]- match any character in here (singular)
- |- matches either what is on the left (character class) or what is on the right (phrase)
- !=- match exactly != (phrase)
- |- again, matches either what is on the left (phrase) or on the right (phrase)
- -{2}- matches the hyphen exactly twice (phrase with a quantifier)
- /- end delimiter
From the high level, it can be interpreted as follows:
- A|B|C, either A or B or C match
- A is then [D]where any characterDmatches
- D is then +=<>()%*|
- B is then !=
- C is then E{2}orEE(identical because of the quantifier{n}).
- E is then -
Now with your variables and regex instantiation style:
JS:
var pattern = /[+=<>()%*|]|!=|-{2}/;
if( pattern.test(mystring) ) 
{
    console.log(...);
}
PHP:
$pattern = '/[+=<>()%*|]|!=|-{2}/';
if ( preg_match($pattern,$mystring) )
{
    var_dump(...);
}
Bonus: Take a look at What special characters must be escaped in regular expressions? in regards to what characters need to be escaped and in what contexts - in your case, none of them, but still a handy reference!