Java过滤特殊字符
/**
* 获取收货地址 过滤特殊字符
* @param address
* @return
*/
public static String getAddr(String address) {
if(StringUtils.isNotEmpty(address)) {
String regex = "[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%]";
return Arrays.stream(address.split("")).filter(e->!regex.contains(e)).reduce(((x, y)->x+y)).get();
}
return null;
}
public static void main(String[] args) {
String address = "浙江省#¥@¥#杭州市%^&***(()))*)).`@%西湖区]]@【¥@¥宝嘉*6栋666号";
System.out.println(getAddr(null));//out:浙江省杭州市西湖区宝嘉6栋666号
}
Js 过滤特殊字符、表情
let ret = "12312ffds#¥@¥#%^&***(()))*)).`@%@¥@¥",
val = this.addr;
//特殊字符过滤
let pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
for (let i = 0; i < val.length; i++) {
ret = ret + val.substr(i, 1).replace(pattern, '');
}
//过滤表情
ret = ret.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "");
console.log("过滤后的文字=",ret);