import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 数据类型验证
* @author dell
*
*/
public class DataValidate {
/***
* 判断 String 是否是 int<br>通过正则表达式判断
*
* @param input
* @return
*/
public static boolean isInteger(String input){
Matcher mer = Pattern.compile("^[+-]?[0-9]+$").matcher(input);
return mer.find();
}
/**
* 判断 String 是否是 double<br>通过正则表达式判断
* @param input
* @return
*/
public static boolean isDouble(String input){
Matcher mer = Pattern.compile("^[+-]?[0-9.]+$").matcher(input);
return mer.find();
}
/**
* 检测字符串是否为 number 类型的数字
* @param str
* @return
*/
public static boolean isNumeric(String str){
if(str == null ){
return false;
}
String strF = str.replaceAll("-", "");
String strFormat = strF.replaceAll("\\.", "");
if("".equals(strFormat)){
return false;
}
for (int i = strFormat.length();--i>=0;){
if (!Character.isDigit(strFormat.charAt(i))){
return false;
}
}
return true;
}
public static void main(String[] args) {
//System.out.println(DataValidate.isInteger("56A"));
//System.out.println(DataValidate.isDouble("56.92q"));
System.out.println(DataValidate.isNumeric("-936.35"));
}
}