Regular Expression to match 6-15 alphanumeric characters plus symbols above 1-8 keys on keyboard
you have two different sets within brackets. Basically the expression says "1 of a-zA-Z0-9-_" followed by 5-16 of special characters. Combine them into the same set of brackets and you're all good.
Something like the following:
'/^[a-zA-Z0-9-_\!\@\#\$\%\^&\*]{5,16}$/'