Java中常用的一些业务校验

1、Java全角半角字符的校验:

半角字符是指英文字母、数字以及一些特殊符号,例如A-Z,a-z,0-9,!@#$%^&*()等。半角字符的宽度只有一个字符宽度。
全角字符是指汉字、日文和韩文等非英文字符,以及一些特殊符号。全角字符的宽度通常为半角字符的两倍。

半角

半角正则表达式:[\x00-\xff]
x00是用十六进制表示的ASCII码,[\x00-\xff]表示所有的ASCII码,一共是256个。半角字符都在这里。每个半角字符占用一字节空间(一字节有8位)。

全角

全角正则表达式:[^\x00-\xff]
不在ASCII码表里可以认为都是全角。每个全角字符占用两字节空间。
参考链接:https://blog.csdn.net/weixin_38883338/article/details/89436718

扩充: 在Unicode字符集中,全角字符的编码范围是\uFF00到\uFFEF,而半角字符的编码范围是\u0020到\u007E。

实际应用1:判断字符是否是全角字符

Stirng sfzhm = "";
char[] chars = sfzhm.toCharArray();
for (int i = 0; i < sfzhm.length(); i++) {
    String temp = valueOf(chars[i]);
    if(temp.matches("[^\\x00-\\xff]")){ 
        log.error(sfzhm + "[身份证号]包含全角字符;");
    }
}

or

public static boolean isFullWidthChar(char c) { //判断字符是全角还是半角
    return c >= '\uFF00' && c <= '\uFFEF';
}

实际应用2:判断数字是否是半角数字

public static boolean isHalfWidthDigit(String input) {
    for (int i = 0; i < input.length(); i++) {
        char c = input.charAt(i);
        if (c < '0' || c > '9') {
            return false;
        }
    }
    return true;
}

你可能感兴趣的:(业务所需,java)