JAVA字符校验

/**
     * 获取数组中某个元素的下标
     *
     * @param indexs 数组
     * @param index  元素
     * @return 元素下标
     */
    private int getIndexOfArray(int[] indexs, int index) {
        for (int i = 0; i < indexs.length; i++) {
            if (indexs[i] == index) {
                return i;
            }
        }
        return -1;
    }


    /**
     * 校验字母及长度
     *
     * @param str    字符串
     * @param length 长度
     * @return boolean
     */
    private boolean checkCharsAndLength(String str, Integer length) {
        if (length != null) {
            if (str.length() != length) {
                return false;
            }
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (!(c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX)) {
                return false;
            }
        }
        return true;
    }

    /**
     * 校验字母及长度
     *
     * @param str    字符串
     * @param length 长度
     * @return boolean
     */
    public static boolean checkCharsAndLessLength(String str, Integer length) {
        if (length != null) {
            if (str.length() > length) {
                return false;
            }
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (!(c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX)) {
                return false;
            }
        }
        return true;
    }

    /**
     * @Description: 校验明文 字母数字空格
     * @Param: [str, length]
     * @return: boolean 不符合返回false
     */
    public static boolean checkString(String str) {
        if (StringUtil.isBlank(str)) {
            return false;
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            Boolean flag = !((c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX) || (c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX) || c == TelProConstant.CHAR_BLANK);
            if (flag) {
                return false;
            }
        }
        return true;
    }

    /**
     * @Description: 校验明文 字母数字空格,返回不符合的字符("."不算)
     * @Param: [str, length]
     * @return: boolean 不符合返回false
     */
    public static String checkStringReturn(String str) {
        if (StringUtil.isBlank(str)) {
            return "空";
        }
        str = str.replace("RVR/", "");
        StringBuilder errStr = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            Boolean flag = !((c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX) || (c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX) || c == TelProConstant.CHAR_BLANK || c == TelProConstant.ENG_POINT);
            if (flag) {
                errStr = errStr.append(c);
            }
        }
        return String.valueOf(errStr);
    }

    /**
     * @Description: 校验明文 字母数字空格,返回不符合的字符("."也算)
     * @Param: [str, length]
     * @return: boolean 不符合返回false
     */
    public static String checkStringReturnWithPoint(String str) {
        if (StringUtil.isBlank(str)) {
            return "";
        }
        StringBuilder errStr = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            Boolean flag = !((c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX) || (c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX) || c == TelProConstant.CHAR_BLANK);
            if (flag) {
                errStr = errStr.append(c);
            }
        }
        return String.valueOf(errStr);
    }

    /**
     * @Description: 校验明文 字母数字空格 斜杠
     * @Param: [str, length]
     * @return: boolean
     */
    public static boolean checkStringAndSlash(String str) {
        if (StringUtil.isBlank(str)) {
            return false;
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            Boolean flag = !((c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX) || (c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX) || c == TelProConstant.CHAR_BLANK || c == TelProConstant.BACKSLASH_ASCII);
            if (flag) {
                return false;
            }
        }
        return true;
    }

    /**
     * @Description: 校验字母 空格
     * @Param: [str, length]
     * @return: boolean
     */
    public static boolean checkCharAndBlank(String str) {
        if (StringUtil.isBlank(str)) {
            return false;
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            Boolean flag = !((c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX) || c == TelProConstant.CHAR_BLANK);
            if (flag) {
                return false;
            }
        }
        return true;
    }

    /**
     * 校验数字及长度
     *
     * @param str    字符串
     * @param length 长度
     * @return boolean
     */
    public static boolean checkNumbersAndLength(String str, Integer length) {
        if (length != null) {
            if (str.length() != length) {
                return false;
            }
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (!(c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX)) {
                return false;
            }
        }
        return true;
    }

    /**
     * @Description: 校验数字及长度(可以为小数点)
     * @Param: [str, length]
     * @return: boolean
     */
    public static boolean checkNumbersWithPointAndLength(String str, Integer length) {
        if (length != null) {
            if (str.length() != length) {
                return false;
            }
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            Boolean flag = !(c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX) || c != TelProConstant.CHAR_POINT;
            if (flag) {
                return false;
            }
        }
        return true;
    }

    /**
     * 校验数字+字母
     *
     * @param str 字符串
     * @return boolean
     */
    public static boolean checkCharsAndNumbersAndLength(String str) {
        if (StringUtil.isBlank(str)) {
            return false;
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            Boolean flag = !((c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX) || (c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX));
            if (flag) {
                return false;
            }
        }
        return true;
    }

    /**
     * @Description: 校验数字+字母及长度
     * @Param: [str]
     * @return: boolean
     */
    public static boolean checkCharsAndNumbersAndStrLength(String str, Integer length) {
        if (length != null) {
            if (str.length() != length) {
                return false;
            }
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            Boolean flag = !((c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX) || (c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX));
            if (flag) {
                return false;
            }
        }
        return true;
    }

    /**
     * @Description: 判断字符串是否为48进制的数字
     * @Param: [str]
     * @return: boolean
     */
    public static boolean checkNumbersOf8AndLength(String str) {
        if (str.length() != TelProConstant.FOUR) {
            return false;
        }
        for (int i = 0; i < str.length(); i++) {
            char cc = str.charAt(i);
            if (!(cc == '0' || cc == '1' || cc == '2' || cc == '3' || cc == '4' || cc == '5' || cc == '6' || cc == '7')) {
                return false;
            }
        }
        return true;
    }

    /**
     * 判断字符串是否为16进制 及其长度
     *
     * @param str 字符串
     * @return boolean
     */
    public static boolean checkCharsOf16AndLength(String str) {
        if (str.length() != TelProConstant.SIX) {
            return false;
        }
        //正则表达式判断616进制字符串
        /*String regex="^[A-Fa-f0-9]+$";
        if(!str.matches(regex)){
            return false;
        }*/
        for (int i = 0; i < str.length(); i++) {
            char cc = str.charAt(i);
            if (!(cc == '0' || cc == '1' || cc == '2' || cc == '3' || cc == '4' || cc == '5' || cc == '6' || cc == '7' || cc == '8' || cc == '9' || cc == 'A' || cc == 'B' || cc == 'C' ||
                    cc == 'D' || cc == 'E' || cc == 'F' || cc == 'a' || cc == 'b' || cc == 'c' || cc == 'd' || cc == 'e' || cc == 'f')) {
                return false;
            }
        }
        return true;
    }

    /**
     * 获取连续字母
     *
     * @param str 字符串
     * @return 连续字母字符串
     */
    public static String getContinueChars(String str) {
        String s = "";
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX) {
                s += c;
            } else {
                return s;
            }
        }
        return s;
    }

    /**
     * 获取第一个字母
     *
     * @param str
     * @return
     */
    public static String getFirstChar(String str) {
        String s = "";
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c >= TelProConstant.CHAR_MIN && c <= TelProConstant.CHAR_MAX) {
                s = String.valueOf(c);
                break;
            }
        }
        return s;
    }

    /**
     * 判断第一个字符是否为字母
     *
     * @param str
     * @return
     */
    public static Boolean isFirstChars(String str) {
        String s = "";
        Boolean isFirstChars = false;
        if (str.charAt(0) >= TelProConstant.CHAR_MIN && str.charAt(0) <= TelProConstant.CHAR_MAX) {
            isFirstChars = true;
        }
        return isFirstChars;
    }

    /**
     * 判断第一个字符是否为数字
     *
     * @param str
     * @return
     */
    public static Boolean isFirstNumber(String str) {
        String s = "";
        Boolean isFirstNumber = false;
        if (str.charAt(0) >= TelProConstant.NUMBER_MIN && str.charAt(0) <= TelProConstant.NUMBER_MAX) {
            isFirstNumber = true;
        }
        return isFirstNumber;
    }

    /**
     * 获取连续数字
     *
     * @param str 字符串
     * @return 连续数字字符串
     */
    public static String getContinueNumbers(String str) {
        String s = "";
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c >= TelProConstant.NUMBER_MIN && c <= TelProConstant.NUMBER_MAX) {
                s += c;
            } else {
                return s;
            }
        }
        return s;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值