这个直接用javascript的正则表达式取就可以了。
下面是简单的代码实现,仅供参考:
var a = 'asdfwlf!@#@##$%$%^SFDGD^%^%&&$#';
console.log(a.match(/[\~!@#$%^&*-_]/g));
//这个结果是:["!", "@", "#", "@", "#", "#", "$", "%", "$", "%", "^", "S", "F", "D", "G", "D", "^", "%", "^", "%", "&", "&", "$", "#"],出来的是一个数组。
可以通过join的方式编程一个字符串。
console.log(a.match(/[\~!@#$%^&*-_]/g).join());
//结果是:!,@,#,@,#,#,$,%,$,%,^,S,F,D,G,D,^,%,^,%,&,&,$,#
如果不想要',' ,还可以再把','去掉。
console.log(a.match(/[\~!@#$%^&*-_]/g).join(''));
//结果是:!@#@##$%$%^SFDGD^%^%&&$#