¿Hay alguna manera de hacer feliz a JSLint con esta expresión regular?

Cuando ejecuto mi JavaScript a través de JSLint, obtengo los siguientes dos errores de la misma línea de código.

Problem at line 398 character 29: Insecure '.'.

if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))

Problem at line 398 character 41: Unescaped '^'.

if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/))

Entiendo que JSLint puede estar siendo "demasiado cauteloso". Leí los comentarios sobre una pregunta similar,Propósito de la opción JSLint "no permitir inseguridad en expresiones regulares".

Sin embargo, me gustaría tener lo mejor de todos los mundos y tener una expresión regular que no cause quejas de JSLint.

Pero fallo en regex.

¿Es posible hacer una expresión regular que busque la presencia de al menos un carácter especial, pero que no cause quejas de JSLint?