Java数据类型验证工具类
packagenet.hlj.common.util;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
/**
*@项目名:houseInfo
*@包名:net.hlj.common.util
*@文件名:DataValidator.java
*@日期:Feb23,20123:32:01PM
*@备注:数据验证类
*@作者:apple
*/
publicclassDataValidator{
/**
*是否是整数
*@paramvalue
*/
publicstaticbooleanisIntege(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^-?[1-9]\\d*$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是正整数
*@paramvalue
*/
publicstaticbooleanisIntege1(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[1-9]\\d*$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是负整数
*@paramvalue
*/
publicstaticbooleanisIntege2(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^-[1-9]\\d*$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是数字
*@paramvalue
*/
publicstaticbooleanisNum(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^([+-]?)\\d*\\.?\\d+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是正数(正整数+0)
*@paramvalue
*/
publicstaticbooleanisNum1(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[1-9]\\d*|0$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是负数(负整数+0)
*@paramvalue
*/
publicstaticbooleanisNum2(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^-[1-9]\\d*|0$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是浮点数
*@paramvalue
*/
publicstaticbooleanisDecmal(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^([+-]?)\\d*\\.\\d+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是正浮点数
*@paramvalue
*/
publicstaticbooleanisDecmal1(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是负浮点数
*@paramvalue
*/
publicstaticbooleanisDecmal2(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是浮点数
*@paramvalue
*/
publicstaticbooleanisDecmal3(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是非负浮点数(正浮点数+0)
*@paramvalue
*/
publicstaticbooleanisDecmal4(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是非正浮点数(负浮点数+0)
*@paramvalue
*/
publicstaticbooleanisDecmal5(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是邮件
*@paramvalue
*/
publicstaticbooleanisEmail(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是颜色
*@paramvalue
*/
publicstaticbooleanisColor(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[a-fA-F0-9]{6}$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是url
*@paramvalue
*/
publicstaticbooleanisUrl(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是中文
*@paramvalue
*/
publicstaticbooleanisChinese(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是ACSII字符
*@paramvalue
*/
publicstaticbooleanisAscii(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[\\x00-\\xFF]+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是邮编
*@paramvalue
*/
publicstaticbooleanisZipcode(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^\\d{6}$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是手机
*@paramvalue
*/
publicstaticbooleanisMobile(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^(13|15)[0-9]{9}$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是ip地址
*@paramvalue
*/
publicstaticbooleanisIp(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是非空
*@paramvalue
*/
publicstaticbooleanisNotempty(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^\\S+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是图片
*@paramvalue
*/
publicstaticbooleanisPicture(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是压缩文件
*@paramvalue
*/
publicstaticbooleanisRar(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("(.*)\\.(rar|zip|7zip|tgz)$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是日期
*@paramvalue
*/
publicstaticbooleanisDate(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是QQ号码
*@paramvalue
*/
publicstaticbooleanisQq(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[1-9]*[1-9][0-9]*$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是电话号码的函数(包括验证国内区号,国际区号,分机号)
*@paramvalue
*/
publicstaticbooleanisTel(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
*@paramvalue
*/
publicstaticbooleanisUsername(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^\\w+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是字母
*@paramvalue
*/
publicstaticbooleanisLetter(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[A-Za-z]+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是大写字母
*@paramvalue
*/
publicstaticbooleanisLetter_u(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[A-Z]+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是大写字母
*@paramvalue
*/
publicstaticbooleanisLetter_l(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^[a-z]+$");
m=p.matcher(value);
b=m.matches();
returnb;
}
/**
*是否是价格
*@paramvalue
*/
publicstaticbooleanisPrice(Stringvalue){
Patternp=null;//正则表达式
Matcherm=null;//操作符表达式
booleanb=false;
p=p.compile("^([1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|\\.[0-9]{1,2})$");
m=p.matcher(value);
b=m.matches();
returnb;
}
publicstaticvoidmain(String[]args){
booleanb=isPrice("25.67");
System.out.println(b);
}
}