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后台常用正则表达式,大家可以尝试尝试这篇文章的其他校验规则。咱通过正则去校验邮箱和链接地址就会报错,大家知道为什么的欢迎下面留言。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值