方法一和方法二有点不同,方法一是字符长度和半角一样的都算符合规则,便于数据库插入不超过长度的字符。
方法一:
/**
* @Author: ChenZhihao
* @Description: 判断是否全部是半角字符,是的话返回TRUE
* @Param: [str]
* @return: boolean
* @Date: 2020/3/18
*/
public static boolean isAngle(String str){
//String test1 = "0123456789abcde!@#$%^& 幽雨";
char[] chars_test1 = str.toCharArray();
for (int i = 0; i < chars_test1.length; i++) {
String temp = String.valueOf(chars_test1[i]);
// 判断是全角字符
if (temp.matches("[^\\x00-\\xff|\\uff61-\\uff9f]")) {
//System.out.println("全角 " + temp);
return false;
}
}
return true;
}
方法二:
/**
* @Author: ChenZhihao
* @Description: 判断仅包含半角字符,返回TRUE ,否则返回FALSE
* @Param: [str]
* @return: boolean
* @Date: 2020/3/17
*/
public static boolean checkHalf(String str) {
byte[] Char;
for(int i = 0; i < str.length(); i++) {
try{
Char = (new Character(str.charAt(i)).toString()).getBytes("MS932");
}catch(Exception e) {
return false;
}
if(Char.length == 1) {
return true;
}
}
return false;
}