微信用户昵称特殊符号处理
微信用户昵称特殊符号处理
有时候在微信开发过程中,我们会发现有些用户微信昵称有特殊符号的会导致保存数据库失败,所以就需要用代码过滤掉这些特殊的符号,代码如下
package com.xyg.userCenter.common.utils;import java.util.regex.Matcher;import java.util.regex.Pattern;public class EmojiUtils { public static String filter(String str){ if(str == null || str.length() == 0){ return ""; } StringBuffer sb = new StringBuffer(); for(int i=0;i<str.length();i++){ int ch = str.charAt(i); int min = Integer.parseInt("E001", 16); int max = Integer.parseInt("E537", 16); if(ch >= min && ch <= max){ sb.append(""); }else{ sb.append((char)ch); } } return sb.toString(); } /** * 过滤昵称特殊表情 */ public static String filterName(String name) { if(name==null){ return null; } if("".equals(name.trim())){ return ""; } Pattern patter = Pattern.compile("[a-zA-Z0-9u4e00-u9fa5]"); Matcher match = patter.matcher(name); StringBuffer buffer = new StringBuffer(); while (match.find()) { buffer.append(match.group()); } return buffer.toString(); } /** * 测试代码,里面的内容复制粘贴到微信然后发送就可以看到 * @param args */ public static void main(String[] args) { System.out.println(filter("啊阿萨德发秦莞尔")); }}