/**
* 正整数,且大于两位首位不能为0,最多输入八位
* @param str
* @return
*/
public static Boolean checkZhengshu(String str) {
if(StringUtils.isBlank(str)) {
System.out.println("请输入数字");
return false;
}
Pattern pattern = Pattern.compile("[0-9]*");
Matcher number = pattern.matcher(str);
if (!number.matches()) {
System.out.println("请输入有效数字");
return false;
}
if(str.length()>1) {
if(str.substring(0, 1).equals("0")) {
System.out.println("首位不能为0");
return false;
}
}
if(str.length()>8) {
System.out.println("长度太长");
return false;
}
return true;
}
//只能输入整数或者小数,若是大于两位,前面两位之间没有小数点,且首位是0,则移除0
public static Boolean checkZhengshuD(String str) {
if(StringUtils.isBlank(str)) {
System.out.println("请输入数字");
return false;
}
Pattern pattern = Pattern.compile("[0-9]*.?[0-9]*");
Matcher number = pattern.matcher(str);
if (!number.matches()) {
System.out.println("请输入有效数字");
return false;
}
if(str.length()>2) {
//
if(!str.substring(0, 2).contains(".")) {
if(str.substring(0, 1).equals("0")) {
System.out.println("首位不能为0");
return false;
}
}
}
if(str.length()>8) {
System.out.println("长度太长");
return false;
}
//其实这里并没有限制小数,所以这里要加上:这个2可以参数传过来
if(str.contains(.)){
String[] ds = str.split("\\.");
String d = ds[1];
if(d.length>2){
System.out.println("小数超过限制");
return false;
}
}
return true;
}