package net.hlj.common.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern; /**
* @项目名:houseInfo
* @包名:net.hlj.common.util
* @文件名:DataValidator.java
* @日期:Feb 23, 2012 3:32:01 PM
* @备注:数据验证类
* @作者:apple
*/
public class DataValidator {
/**
* 是否是整数
* @param value
*/
public static boolean isIntege(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^-?[1-9]\\d*$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是正整数
* @param value
*/
public static boolean isIntege1(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[1-9]\\d*$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是负整数
* @param value
*/
public static boolean isIntege2(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^-[1-9]\\d*$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是数字
* @param value
*/
public static boolean isNum(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^([+-]?)\\d*\\.?\\d+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是正数(正整数 + 0)
* @param value
*/
public static boolean isNum1(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[1-9]\\d*|0$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是负数(负整数 + 0)
* @param value
*/
public static boolean isNum2(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^-[1-9]\\d*|0$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是浮点数
* @param value
*/
public static boolean isDecmal(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^([+-]?)\\d*\\.\\d+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是正浮点数
* @param value
*/
public static boolean isDecmal1(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是负浮点数
* @param value
*/
public static boolean isDecmal2(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是浮点数
* @param value
*/
public static boolean isDecmal3(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是非负浮点数(正浮点数 + 0)
* @param value
*/
public static boolean isDecmal4(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是非正浮点数(负浮点数 + 0)
* @param value
*/
public static boolean isDecmal5(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是邮件
* @param value
*/
public static boolean isEmail(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=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();
return b;
} /**
* 是否是颜色
* @param value
*/
public static boolean isColor(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[a-fA-F0-9]{6}$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是url
* @param value
*/
public static boolean isUrl(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是中文
* @param value
*/
public static boolean isChinese(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是ACSII字符
* @param value
*/
public static boolean isAscii(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[\\x00-\\xFF]+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是邮编
* @param value
*/
public static boolean isZipcode(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^\\d{6}$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是手机
* @param value
*/
public static boolean isMobile(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^(13|15)[0-9]{9}$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是ip地址
* @param value
*/
public static boolean isIp(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=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();
return b;
} /**
* 是否是非空
* @param value
*/
public static boolean isNotempty(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^\\S+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是图片
* @param value
*/
public static boolean isPicture(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是压缩文件
* @param value
*/
public static boolean isRar(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("(.*)\\.(rar|zip|7zip|tgz)$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是日期
* @param value
*/
public static boolean isDate(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=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();
return b;
} /**
* 是否是QQ号码
* @param value
*/
public static boolean isQq(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[1-9]*[1-9][0-9]*$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是电话号码的函数(包括验证国内区号,国际区号,分机号)
* @param value
*/
public static boolean isTel(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
* @param value
*/
public static boolean isUsername(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^\\w+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是字母
* @param value
*/
public static boolean isLetter(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[A-Za-z]+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是大写字母
* @param value
*/
public static boolean isLetter_u(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[A-Z]+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是大写字母
* @param value
*/
public static boolean isLetter_l(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=false;
p=p.compile("^[a-z]+$");
m=p.matcher(value);
b=m.matches();
return b;
} /**
* 是否是价格
* @param value
*/
public static boolean isPrice(String value){
Pattern p=null;//正则表达式
Matcher m=null;//操作符表达式
boolean b=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();
return b;
} public static void main(String[] args) {
boolean b=isPrice("25.67");
System.out.println(b);
}
}

转自:http://dpn525.iteye.com/blog/1420216

Java 字符的验证的更多相关文章

  1. 史上最全Java表单验证封装类

    package com.tongrong.utils; import java.util.Collection; import java.util.Map; import java.util.rege ...

  2. Java的登陆验证问题

    java中的登陆验证问题可以有多种方式进行验证,通过拦截器功能完成,可以通过过滤器功能完成,也可以简单的代码在JSP页面中单独完成,其中都 涉及到一个关键的验证步骤,这个验证原理ASP,PHP,JAV ...

  3. 【字符编码】Java字符编码详细解答及问题探讨

    一.前言 继上一篇写完字节编码内容后,现在分析在Java中各字符编码的问题,并且由这个问题,也引出了一个更有意思的问题,笔者也还没有找到这个问题的答案.也希望各位园友指点指点. 二.Java字符编码 ...

  4. Java 字符编码归纳总结

    String newStr = new String(oldStr.getBytes(), "UTF-8");       java中的String类是按照unicode进行编码的 ...

  5. Java 字符流实现文件读写操作(FileReader-FileWriter)

    Java 字符流实现文件读写操作(FileReader-FileWriter) 备注:字符流效率高,但是没有字节流底层 字节流地址:http://pengyan5945.iteye.com/blog/ ...

  6. java对身份证验证及正则表达式解析

    原文地址:http://www.cnblogs.com/zhongshengzhen/ java对身份证验证及正则表达式解析 package service; import java.text.Par ...

  7. 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题

    这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...

  8. 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换

    http://blog.csdn.net/qinysong/article/details/1179489 这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记 ...

  9. 【JAVA编码专题】JAVA字符编码系列一:Unicode,GBK,GB2312,UTF-8概念基础

    这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...

随机推荐

  1. 传统MySQL+ Memcached架构遇到的问题

    实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: ...

  2. iOS删除本地文件

    以前在博客里记录的东西都是截屏,没有插入代码,今天进去一看,图片都不显示了,只好重新插入代码,发现以前写的文件操作这块,没有写本地文件删除这个功能,重新再记录一下 //需要删除文件的物理地址 NSSt ...

  3. php实现验证码

      验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码.好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码.正所谓,技多不压身.而且 ...

  4. 冒泡排序优化JAVA

    本文对传统的冒泡排序进行了一些优化,减少了循环次数. 时间复杂度 若文件的初始状态是正序的,一趟扫描即可完成排序.所需的关键字比较次数 C 和记录移动次数 M 均达到最小值: C(min)=n-1 , ...

  5. 老调重弹:JDBC系列之<驱动加载原理全面解析) ----转

      最近在研究Mybatis框架,由于该框架基于JDBC,想要很好地理解和学习Mybatis,必须要对JDBC有较深入的了解.所以便把JDBC 这个东东翻出来,好好总结一番,作为自己的笔记,也是给读者 ...

  6. Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解

    http://hi.baidu.com/ltb6w/item/3a51f11926fda60ce75c361d Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解 ...

  7. Java的历史

    1991 绿色计划 (Green Project) 1991 年 1 月 一个名为"Green Project"的项目启动.该项旨在为家用电器提供支持,使这些电器智能化并且能够彼此 ...

  8. [芯片][MPU6050] MPU60X0的DMP相关链接

    标题:发个自己做的UD分解+强跟踪卡尔曼滤波做的双轴姿态测量 链接:http://www.amobbs.com/thread-5511854-1-1.html 关键词:UD分解+强跟踪卡尔曼滤波,采用 ...

  9. [stm32] 利用uc-gui封装画图和画线函数移植51上的模拟动画

    >_<:这里的动画是黄色矩形区域中一个模仿俯视图的起重机运作动画,一个是模仿主视图的吊钩的运动.通过改变初始Init函数中的数据b_x,b_y实现矩形区域的移动.当实时采集时要首先根据起重 ...

  10. Redis教程(九):主从复制配置实例

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/136.html 一.Redis的Replication: 这里首先需要说明 ...