java封装起来的校验字符串方法

    有的时候会遇到字符串提交到后台处理的情况,这时候,就需要通过正则去验证字符串是否合法和可用的,绿峰整理出了一个封装起来的小方法,虽然不算太完善,但终究是个方法。

    

/**
 *   静态封装类
 */
public class Constraint {
    //注意:反斜线属于转义字符,故这里的反斜线是一对的
    private static final String IS_NUM = "^[0-9]*$";     //001.验证只能是0到9
    private static final String IS_JUST_NUMBER = "^\\+?[1-9][0-9]*$";     //002.非0正整数
    private static final String IS_COUNT_NUMBER = "^\\d{n}$";     //003.只能输入n位数字
    private static final String IS_MIN_NUMBER = "^\\d{n,}$";      //004.最少n长度的字符串
    private static final String IS_ONLY_CHN = "^[\\u4e00-\\u9fa5]{0,}$";   //005.只能输入汉字
    //000.总方法  in:约束名,被约束字符串
    private static boolean ck(String ckName,String inputStr){
         Pattern pat = Pattern.compile(ckName);
         Matcher mat = pat.matcher(inputStr);
         return mat.matches();
    }


    //001.只能是0到9
    public static boolean ckOnlyNum(String InputNumber){
        return ck(IS_NUM,InputNumber);
    }
    //002.只能是大于0的正整数
    public static boolean ckJustNum(String InputNumber){
        return ck(IS_JUST_NUMBER,InputNumber);
    }
    //003.只能输入固定长度的数字串  in:长度,数字串
    public static boolean ckCountNum(int count,String inputNumber){
        String cks = IS_COUNT_NUMBER.replace("n",count+"");   //替换
        return ck(cks,inputNumber);
    }
    //004.只能输入大于等于n位的数字串
    public static boolean ckMinCount(int minCount,String inputNumber){
        String cks = IS_MIN_NUMBER.replace("n",minCount+"");  //替换
        return ck(cks,inputNumber);
    }
    //005.只能是汉字
    public static boolean ckChnChar(String inputStr){
        return ck(IS_ONLY_CHN,inputStr);
    }
    //a.去全部空格
    public static String delSpaceAll(String str){
         return StringUtils.deleteWhitespace(str);
    }
    //b.去首尾空格
    public static String delSpace(String str){
        return str.trim();
    }
}

    然后这么去调用……

public class Test {
      public static void main(String[] args){
//          System.out.println(Constraint.ckOnlyNum("0123456789"));
//          System.out.println(Constraint.ckJustNum("123456789"));
//          System.out.println(Constraint.ckCountNum(3,"333"));
//          System.out.println(Constraint.ckMinCount(2,"01"));
//          System.out.println(Constraint.ckChnChar("中华人民共和国"));
          //如果有空格
          String str = Constraint.delSpaceAll(" 中华 人   民共和   国    ");   //去除所有空格
          System.out.println(Constraint.ckChnChar(str));
      }
}
特殊鸣谢校验规则正则的那篇文章 java后台常用正则表达式,大家可以尝试尝试这篇文章的其他校验规则。咱通过正则去校验邮箱和链接地址就会报错,大家知道为什么的欢迎下面留言。。

猜你喜欢

转载自blog.csdn.net/qq_37525899/article/details/80707250
今日推荐