title: Regular expression /[a-zA-Z0-9_-]/ return true when passing `!!!`
body: <p>I have the following regular expression <code>/[a-zA-Z0-9_-]/</code> and I need to return false when the string contains only characters from <code>a</code> to <code>z</code> lower and uppercase, numbers, and <code>_</code> and <code>-</code>.</p>
  
  <ul>
  <li>What is wrong with my code?</li>
  <li>Could you please provide me a brief explanation and a sample of code on how to fix it?</li>
  </ul>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>//var str = 'EKyirtVHsK0'; ok
  var str = '!%!irtVHsK0'; // should return false
  var result = /[a-zA-Z0-9_-]/.test(str);
  alert(result);</code></pre>
  </div>
  </div>
  </p>