If you want to remove specific punctuation from a string, it will probably be best to explicitly remove exactly what you want like
replace(/[.,/#!$%^&*;:{}=-_`~()]/g,"")
Doing the above still doesn't return the string as you have specified it. If you want to remove any extra spaces that were left over from removing crazy punctuation, then you are going to want to do something like
replace(/s{2,}/g," ");
My full example:
var s = "This., -/ is #! an $ % ^ & * example ;: {} of a = -_ string with `~)() punctuation";
var punctuationless = s.replace(/[.,/#!$%^&*;:{}=-_`~()]/g,"");
var finalString = punctuationless.replace(/s{2,}/g," ");
Results of running code in firebug console:
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…