RegEx for password validation, only specific characters
<p>I am trying to create a Regular Expression for password validation. Here are the requirements.</p>

<ol>
<li>Minimum length 8.</li>
<li>At least 1 upper case.</li>
<li>At least 1 lower case.</li>
<li>At least 1 number.</li>
<li>0 or more of these characters !@#$%^&amp;*?_~()- allowed.</li>
<li>a-z allowed.</li>
<li>A-Z allowed.</li>
<li>0-9 allowed.</li>
</ol>

<p>Here is the expression i have so far:</p>

<p><code>^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&amp;*?_~()-]*).*$</code></p>

<p>This expression works mostly, except i need it to only allow bullets 5-9. Right now it will allow characters that are not specified, for example <code>+=</code>.</p>

<p>How can i modify this expression to only allow bullets 5-9 and no other characters?</p>