Existe uma maneira de fazer JSLint feliz com este regex?

Ao executar meu JavaScript por meio do JSLint, recebo os dois erros a seguir na mesma linha de código.

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

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

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

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

Entendo que o JSLint pode estar sendo "muito cauteloso". Eu li os comentários sobre uma pergunta semelhante,Objetivo da opção JSLint "não permitir inseguro em regex".

No entanto, eu gostaria de ter o melhor de todos os mundos e ter uma expressão regular que também não faça com que o JSLint se queixe.

Mas eu falho no regex.

É possível criar expressões regulares que procurem a presença de pelo menos um caractere especial, mas que não façam com que o JSLint se queixe?

questionAnswers(1)

yourAnswerToTheQuestion