java 常用的验证方法帮助类
import java.text.ParseException;
import java.util.Collection;
import java.util.Map;
/**
* 常用的验证方法帮助类,提供对字符串,集合,数组,数值的验证 *
*
*/
public class ValidateHelper {
/**
* 判断一个字符串是否不是一个空字符串
*
* @param s 要判断的字符串
* @return 如果不为空返回true,否则返回false
*/
public static boolean isNotEmpty(String s) {
return ((s != null) && s.length() > 0);
}
/**
* 判断一个字符串是否是一个空字符串
*
* @param s 要判断的字符串
* @return 如果为空返回true,否则返回false
*/
public static boolean isEmpty(String s) {
return ((s == null) || (s.length() == 0));
}
/**
* 判断一个Collection类型的集合是否不是一个空集合
*
* @param c 要判断集合
* @return 如果不为空返回true,否则返回false
*/
public static boolean isNotEmpty(Collection c) {
return ((c != null) && (c.size() > 0));
}
/**
* 判断一个Collection类型的集合是否是一个空集合
*
* @param c 要判断集合
* @return 如果为空返回true,否则返回false
*/
public static boolean isEmpty(Collection c) {
return ((c == null) || (c.size() == 0));
}
/**
* 判断一个Map类型的集合是否不是一个空集合
*
* @param c 要判断的集合
* @return 如果不为空返回true,否则返回false
*/
public static boolean isNotEmpty(Map m) {
return ((m != null) && (m.size() > 0));
}
/**
* 判断一个Map类型的集合是否是一个空集合
*
* @param c 要判断的集合
* @return 如果为空返回true,否则返回false
*/
public static boolean isEmpty(Map m) {
return ((m == null) || (m.size() == 0));
}
/**
* 判断一个int类型的数组是否不是一个空数组
*
* @param c 要判断的数组
* @return 如果不为空返回true,否则返回false
*/
public static boolean isNotEmpty(int[] i) {
return ((i != null) && (i.length > 0));
}
/**
* 判断一个int类型的数组是否是一个空数组
*
* @param c 要判断的数组
* @return 如果为空返回true,否则返回false
*/
public static boolean isEmpty(int[] i) {
return ((i == null) || (i.length == 0));
}
/**
* 判断一个String类型的数组是否不是一个空数组
*
* @param c 要判断的数组
* @return 如果不为空返回true,否则返回false
*/
public static boolean isNotEmpty(String[] s) {
return ((s != null) && (s.length > 0));
}
/**
* 判断一个String类型的数组是否是一个空数组
*
* @param c 要判断的数组
* @return 如果为空返回true,否则返回false
*/
public static boolean isEmpty(String[] s) {
return ((s == null) || (s.length == 0));
}
/**
* 验证一个字符串是否是Double类型
*
* @param s 要验证的字符串
* @return 如果是Double类型则返回true,否则返回false
*/
public static boolean isDouble(String s) {
if (s == null || s.equals(""))
return false;
String num = "0123456789.";
if (s.indexOf('.') >= 0)
if (s.indexOf('.', s.indexOf('.') + 1) > 0)
return false;
for (int i = 0; i < s.length(); i++) {
if (num.indexOf(s.charAt(i)) < 0) {
return false;
} else {
try {
Double.parseDouble(s);
} catch (NumberFormatException e) {
return false;
}
}
}
return true;
}
/**
* 验证一个字符串是否是Float类型
*
* @param s 要验证的字符串
* @return 如果是Float类型则返回true,否则返回false
*/
public static boolean isFloat(String s) {
if (s == null || s.equals(""))
return false;
String num = "0123456789.";
if (s.indexOf('.') >= 0)
if (s.indexOf('.', s.indexOf('.') + 1) > 0)
return false;
for (int i = 0; i < s.length(); i++) {
if (num.indexOf(s.charAt(i)) < 0) {
return false;
} else {
try {
Float.parseFloat(s);
} catch (NumberFormatException e) {
return false;
}
}
}
return true;
}
/**
* 验证一个字符串是否是整形
*
* @param s 要验证的字符串
* @return 如果是整形则返回true,否则返回false
*/
public static boolean isInteger(String s) {
if (s == null || s.length() == 0) {
return false;
} else {
String str = "0123456789";
String num = "-0123456789";
if (num.indexOf(s.charAt(0)) < 0)
return false;
for (int i = 1; i < s.length(); i++) {
if (str.indexOf(s.charAt(i)) < 0) {
return false;
} else {
try {
Integer.parseInt(s);
} catch (NumberFormatException e) {
return false;
}
}
}
}
return true;
}
/**
* 验证一个字符串是否是一个.和一组数字组成
*
* @param s 要传入的数字字符串
* @return 如果是一个长类型数字返回true,否则返回false
*/
public static boolean isLongNumber(String s) {
if (s == null || s.equals(""))
return false;
String num = "0123456789.";
if (s.indexOf('.') >= 0)
if (s.indexOf('.', s.indexOf('.') + 1) > 0)
return false;
for (int i = 0; i < s.length(); i++) {
if (num.indexOf(s.charAt(i)) < 0)
return false;
}
return true;
}
/**
* 验证一个字符串是否是数字组成
*
* @param s 要验证的字符串
* @return 如果字符串是数字组成的则返回true,否则返回false
*/
public static boolean isNumber(String s) {
if (s == null || s.equals(""))
return false;
String num = "0123456789";
for (int i = 0; i < s.length(); i++) {
if (num.indexOf(s.charAt(i)) < 0)
return false;
}
return true;
}
/**
* 验证一个字符串是否一个合法日期,日期格式:yyyy-MM-dd
*
* @param date 要验证的字符串日期
* @return 如果字符串是一个合法的日期返回true,否则返回false
*/
public static boolean isDate(String date) {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");
try {
df.setLenient(false);
df.parse(date);
return true;
} catch (ParseException e) {
return false;
}
}
/**
* 验证一个字符串是否一个合法日期时间,日期时间格式:yyyy-MM-dd HH:mm:ss
*
* @param date 要验证的字符串日期时间
* @return 如果字符串是一个合法的日期时间返回true,否则返回false
*/
public static boolean isTimestamp(String time) {
java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
df.setLenient(false);
df.parse(time);
return true;
} catch (ParseException e) {
return false;
}
}
/**
* 根据字节数组指定的开始和结尾长度来计算字符串值
*
* @param bytes 字节数组
* @param begin 开始索引
* @param end 结束索引
* @return 转换后的字符串结果
*/
public static String getString(byte[] bytes, int begin, int end) throws RuntimeException {
byte[] newBytes = new byte[end - begin];
for (int i = begin, j = 0; i < end; i++, j++) {
byte c = bytes[i];
newBytes[j] = c;
}
return (new String(newBytes));
}
/**
* 根据字节数组指定的开始和结尾长度来计算字符串的字节长度
*
* @param bytes 字节数组
* @param begin 开始索引
* @param end 结束索引
* @return 转换后的字符串长度
*/
public static int getLength(byte[] bytes, int begin, int end) {
byte[] newBytes = new byte[end - begin];
try {
for (int i = begin, j = 0; i < end; i++, j++) {
byte b = bytes[i];
newBytes[j] = b;
}
} catch (RuntimeException ex) {
ex.printStackTrace();
}
return (newBytes.length);
}
}
java 常用的验证方法帮助类的更多相关文章
- Java国际化号码验证方法,国内手机号正则表达式
Java国际化号码验证方法,国内手机号正则表达式 中国电信号段 133.149.153.173.177.180.181.189.199 中国联通号段 130.131.132.145.155.156.1 ...
- Java常用的输入输出方法
对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法 首先输出 大家最熟悉的莫过于输出方法,直接用S ...
- Java常用正则表达式验证工具类RegexUtils.java
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexUtils{ /** * 正则表达式 ...
- rails 常用的验证方法 validates (转)
Agile Web Development with Rails 17.4 validation validate 在save的时候激活validate_on_create ...
- java自定义注解注解方法、类、属性等等【转】
http://anole1982.iteye.com/blog/1450421 http://www.open-open.com/doc/view/51fe76de67214563b20b385320 ...
- JAVA中域、方法、类的可见性
多态在域的问题上是特殊的.我理解不了中文版的书直接叫域,看了英文原版,原版写的是fields,直接翻译虽然没错,但是出问题的变量不是域.特地查了what is the meaning of field ...
- java 常用类库:操作系统System类,运行时环境Runtime
System类: System 类代表Java程序的运行平台,程序不能创建System类的对象, System类提供了一些类变量和类方法,允许直接通过 System 类来调用这些类变量和类方法. Sy ...
- java常用加密和解密工具类EncryptUtil.java
package cn.util; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; im ...
- java常用的正则表达式的工具类
import com.google.common.base.Strings; import java.util.regex.Matcher;import java.util.regex.Pattern ...
随机推荐
- Unix/Linux环境C编程入门教程(42) 终端控制篇
函数介绍 getopt(分析命令行参数) 相关函数 表头文件 #include<unistd.h> 定义函数 int getopt(int argc,char * const argv[ ...
- iOS 推送证书制作 (JAVA/PHP)
// aps_development.cer 转化成pem openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem ...
- unity3d 建树篇
今天碰到有人问这个问题,然后我经过一番折腾,找到了方法.例如以下: 有学过Unity3d的同学生都知道我们在对地形拖拉树木等表层时,其树木在我们实例执行中,它们都是能够任其他物体穿过. 这是为什么.相 ...
- Linux下redis的安装及用法
1.下载源代码包redis-2.8.21.tar.gz,并将其上传到指定文件夹/urs/src,然后对其进行解压: [root@Slave1pc src]# tar -xvf redis-2.8.21 ...
- CentOS6.5 --安装orale 11g(上)
Linux内核版本:Linux version 2.6.32-431.23.3.el6.x86_64 (1) 在Windows上安装Xmanager Enterprise 4工具,该工具是用来 ...
- 已解决 C# 调用 MySQLDriverCS 类库 报 vshost32-clr2.exe 已停止工作
这几天修改一个项目是用C# 通过调用 MySQLDriverCS.dll 类库来操作 MySql数据库, 调试的会发生以上错误(直接运行是正常的),刚开始以为是兼容性问题,吧此错误百度上一粘贴有的人说 ...
- 线程:CyclicBarrier同步工具类
一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点.比如公司组织活动出去玩,需要在公司门口一起搭车去.每个人从家里出发去公司门口,到达的时间肯定先后不一样,所以公司的车要一直等待,等所有人 ...
- js数组去重,并统计最多项算法
从事了一段时间的前端开发,今天写了一个数组去重,并统计最多项的方法,目前只支持数组的项都是数字. 由于本人能力有限,希望能得到网友的指正!如有问题或者更好的实现思路,也欢迎大家和我讨论!代码如下: f ...
- oracle安装、配置、卸载、错误解决
oracle安装卸载的帖子很多,这里整理出一份,都只是给出一个链接,忘了时可以自己看看.哈哈,其实我也觉得已经不会忘了,被这个鸡毛问题困了两天,修改控制文件.环境变量.注册表什么的都不能解决问题,最后 ...
- SQL Server数据库的操作流程和连接的简单介绍
学习ADO,免不了要跟数据库打交道,对于初学者来说,如果不整理一下整个流程,那么可能会出现很多的问题,下面简单的介绍数据库的操作流程. 1. 我们最终操作的对像是数据表,在操作数据表之前我们先 ...