Сбежать с помощью \- должно быть хорошо, но вы также можете попробовать поставить его в начале или в конце класса символов. Это должно работать для вас:
\-
/^[a-zA-Z0-9._-]+$/