Use a negative character class by writing ^immediately after the open square bracket:
/[^a-zA-Z0-9!#$&%*+,-./: ;=?@_]/g
Here it ^has a special meaning, which differs from the normal value that it has in regular expressions (usually it corresponds to the beginning of a line).
So your corrected code will look like this:
var pattern = /[^a-zA-Z0-9!#$&%*+,-./: ;=?@_]/g;
alert("New " + jVal.replace(pattern, ""));
, replace - . jVal, :
jVal = jVal.replace(pattern, "");