Want to disallow dashes in text field. Am I missing something?

Try with a $ at the end.
and you don’t need to add the open/close indicators of the regex