Use regex pattern ^(?=.{8})(?=.*[^a-zA-Z])
Explanation:
^(?=.{8})(?=.*[^a-zA-Z])
¦+------++-------------+
¦ ¦ ¦
¦ ¦ + string contains some non-letter character
¦ ¦
¦ + string contains at least 8 characters
¦
+ begining of line/string
If you want to limit also maximum length (let's say 16), then use regex pattern:
^(?=.{8,16}$)(?=.*[^a-zA-Z])