java验证字符串中是否包含数字,对数字的操作

阅读更多
在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下;

// 判断一个字符串是否都为数字  
public boolean isDigit(String strNum) {  
    return strNum.matches("[0-9]{1,}");  
}  
  
// 判断一个字符串是否都为数字  
public boolean isDigit(String strNum) {  
    Pattern pattern = Pattern.compile("[0-9]{1,}");  
    Matcher matcher = pattern.matcher((CharSequence) strNum);  
    return matcher.matches();  
}

//截取数字  
public String getNumbers(String content) {  
    Pattern pattern = Pattern.compile("\\d+");  
    Matcher matcher = pattern.matcher(content);  
    while (matcher.find()) {  
       return matcher.group(0);  
    }  
    return "";  
}  
  
// 截取非数字  
public String splitNotNumber(String content) {  
    Pattern pattern = Pattern.compile("\\D+");  
    Matcher matcher = pattern.matcher(content);  
    while (matcher.find()) {  
        return matcher.group(0);  
    }  
    return "";  
}
  
// 判断一个字符串是否含有数字
public boolean hasDigit(String content) {
boolean flag = false;
Pattern p = Pattern.compile(".*\\d+.*");
Matcher m = p.matcher(content);
if (m.matches())
flag = true;
return flag;
}


-----------------------------------------------------
java中判断字符串是否为数字的三种方法
//用JAVA自带的函数 
public static boolean isNumeric(String str){ 
  for (int i = str.length();--i>=0;){   
   if (!Character.isDigit(str.charAt(i))){ 
    return false; 
   } 
  } 
  return true; 
} 

//用正则表达式 
public static boolean isNumeric(String str){ 
    Pattern pattern = Pattern.compile("[0-9]*"); 
    return pattern.matcher(str).matches();    
} 

//用ascii码 
public static boolean isNumeric(String str){ 
   for(int i=str.length();--i>=0;){ 
      int chr=str.charAt(i); 
      if(chr<48 || chr>57) 
         return false; 
   } 
   return true; 
}

转自:http://blog.csdn.net/ld_flex/article/details/7699161
正则表达式扩展学习:http://blog.csdn.net/yaerfeng/article/details/28855587
http://blog.csdn.net/allwefantasy/article/details/3136570/

你可能感兴趣的:(java,正则表达式)