方法一和方法二有点不同,方法一是字符长度和半角一样的都算符合规则,便于数据库插入不超过长度的字符。
方法一:
/**
* @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;
}
本文介绍了两种用于检测字符串中是否全部为半角字符的方法。方法一通过正则表达式匹配,排除全角字符,适用于数据库字段长度控制。方法二利用字符编码特性,判断字符是否为半角。

748

被折叠的 条评论
为什么被折叠?



