package com.citics.uniaccount; import com.alibaba.dubbo.common.utils.StringUtils; import org.jboss.netty.util.internal.StringUtil; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by Administrator on 2017/3/27. */ public class MyTest { public static final String DEFAULT_QUERY_REGEX = "《》:\\-_()()@[!$^&*+=|{}';'\",<>/?~!#¥%……&*——|{}【】‘;:”“'。.,、?]"; public static void main(String[] args) { /* public static final String DEFAULT_QUERY_REGEX = "《》:\\-_()()@[!$^&*+=|{}';'\",<>/?~!#¥%……&*——|{}【】‘;:”“'。.,、?]"; * */ String str = ""; MyTest myTest = new MyTest(); boolean valid = myTest.valid(str); if (valid) { System.out.println("参数不可为空"); } else { boolean flag = myTest.specialSymbols(str.trim()); System.out.println("字符匹配结果是:"+flag+","+str.trim()); } } /** * 判断查询参数中是否以特殊字符开头,如果以特殊字符开头则返回true,否则返回false * * @param value * @return * @see {@link #getQueryRegex()} * @see {@link #DEFAULT_QUERY_REGEX} */ public boolean specialSymbols(String value) { Pattern pattern = Pattern.compile(getQueryRegex()); Matcher matcher = pattern.matcher(value); char[] specialSymbols = getQueryRegex().toCharArray(); boolean isStartWithSpecialSymbol = false; // 是否以特殊字符开头 for (int i = 0; i < specialSymbols.length; i++) { char c = specialSymbols[i]; if (value.indexOf(c) == 0) { isStartWithSpecialSymbol = true; System.out.println("匹配到非法字符"); break; } } return isStartWithSpecialSymbol; } public boolean valid(String value) { value = value.trim(); if (StringUtils.isBlank(value)) { System.out.println("参数为空"); return true; } System.out.println("参数不为空"); return false; } /** * 获取查询过滤的非法字符 * * @return */ protected String getQueryRegex() { return DEFAULT_QUERY_REGEX; } }
参数校验-过滤字符串
最新推荐文章于 2022-12-28 17:50:58 发布