微信用户昵称特殊符号处理

微信用户昵称特殊符号处理

微信用户昵称特殊符号处理

有时候在微信开发过程中,我们会发现有些用户微信昵称有特殊符号的会导致保存数据库失败,所以就需要用代码过滤掉这些特殊的符号,代码如下
或者可以将数据库编码改为uft8mb4,存储这个字段的编码也改为utf8mb4

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= 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-9\u4e00-\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("啊阿萨德发秦莞尔"));
    }
}

你可能感兴趣的:(微信开发)