html – Validar ciertos carecteres especiales en un input


Necesito validar que en un input se puedan ingresar ciertos caracteres.

Implemente este codigo:

$('.limit').bind('keypress', function (event) {
            var regex = new RegExp("^(a-zA-Z0-9ñÑ._-)+$");
            var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
            if (!regex.test(key)) {
                event.preventDefault();
                return false;
            }
        });

El codigo funciona pero quiero agregar otros caracteres como @, !, *, $, &, % para que sean permitidos.

Los agregaba en var regex = new RegExp("^(a-zA-Z0-9ñÑ._-@$!*)+$"); pero me daba error.