java 常用工具类

简介: java 常用工具类
package org.fh.util;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * 说明:常用工具
 * 作者:FH Admin
 * from:fhadmin.cn
 */
public class Tools {
  /**
   * 随机生成六位数验证码 
   * @return
   */
  public static int getRandomNum(){
     Random r = new Random();
     return r.nextInt(900000)+100000;//(Math.random()*(999999-100000)+100000)
  }
  /**
   * 随机生成四位数验证码 
   * @return
   */
  public static int getRandomNum4(){
     Random r = new Random();
     return r.nextInt(9000)+1000;
  }
  /**
   * 检测字符串是否不为空(null,"","null")
   * @param s
   * @return 不为空则返回true,否则返回false
   */
  public static boolean notEmpty(String s){
    return s!=null && !"".equals(s) && !"null".equals(s);
  }
  /**
   * 检测字符串是否为空(null,"","null")
   * @param s
   * @return 为空则返回true,不否则返回false
   */
  public static boolean isEmpty(String s){
    return s==null || "".equals(s) || "null".equals(s);
  }
  /**
   * 字符串转换为字符串数组
   * @param str 字符串
   * @param splitRegex 分隔符
   * @return
   */
  public static String[] str2StrArray(String str,String splitRegex){
    if(isEmpty(str)){
      return null;
    }
    return str.split(splitRegex);
  }
  /**
   * 用默认的分隔符(,)将字符串转换为字符串数组
   * @param str 字符串
   * @return
   */
  public static String[] str2StrArray(String str){
    return str2StrArray(str,",\\s*");
  }
  /**
    * 验证邮箱
    * @param email
    * @return
    */
   public static boolean checkEmail(String email){
    boolean flag = false;
    try{
      String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
      Pattern regex = Pattern.compile(check);
      Matcher matcher = regex.matcher(email);
      flag = matcher.matches();
     }catch(Exception e){
      flag = false;
     }
    return flag;
   }
   /**
    * 验证手机号码
    * @param mobiles
    * @return
    */
   public static boolean checkMobileNumber(String mobileNumber){
    boolean flag = false;
    try{
      Pattern regex = Pattern.compile("^(((13[0-9])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8})|(0\\d{2}-\\d{8})|(0\\d{3}-\\d{7})$");
      Matcher matcher = regex.matcher(mobileNumber);
      flag = matcher.matches();
     }catch(Exception e){
      flag = false;
     }
    return flag;
   }
  /**
   * 检测KEY是否正确
   * @param paraname  传入参数
   * @param FKEY    接收的 KEY
   * @return 为空则返回true,不否则返回false
   */
  public static boolean checkKey(String paraname, String FKEY){
    paraname = (null == paraname)? "":paraname;
    return MD5.md5(paraname+DateUtil.getDays()+",fh,").equals(FKEY);
  }
  public static void main(String[] args) {
    System.out.println(getRandomNum());
  }
}

 

目录
相关文章
|
16天前
|
Java
颠覆认知:一向主张可扩展性的Java,为何要推出封闭类?
本文介绍了Java的Sealed Classes(封闭类)功能,探讨了为何Java在强调可扩展性的同时引入这一特性。文章基于JDK 17.0.5,详细解释了Sealed Classes的概念及其作用。通过对比final类和package-private类,阐述了封闭类在提高安全性和控制扩展性方面的优势。最后,通过具体示例展示了如何使用sealed关键字以及相关语法。了解这一新特性有助于我们更好地把握Java未来的发展趋势。
37 2
|
1天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
13 6
|
3天前
|
IDE Java 编译器
Java:如何确定编译和运行时类路径是否一致
类路径(Classpath)是JVM用于查找类文件的路径列表,对编译和运行Java程序至关重要。编译时通过`javac -classpath`指定,运行时通过`java -classpath`指定。IDE如Eclipse和IntelliJ IDEA也提供界面管理类路径。确保编译和运行时类路径一致,特别是外部库和项目内部类的路径设置。
|
2天前
|
安全 Java 测试技术
Java零基础-StringBuffer 类详解
【10月更文挑战第9天】Java零基础教学篇,手把手实践教学!
10 2
|
3天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。
【10月更文挑战第14天】从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其独特的“不重复性”要求,彻底改变了处理唯一性约束数据的方式。本文深入探讨Set的核心理念,并通过示例代码展示了HashSet和TreeSet的特点和应用场景。
8 2
|
3天前
|
存储 Java 索引
Java 中集合框架的常见接口和类
【10月更文挑战第13天】这些只是集合框架中的一部分常见接口和类,还有其他一些如 Queue、Deque 等接口以及相关的实现类。理解和掌握这些集合的特点和用法对于高效编程非常重要。
|
8天前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
21 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
10天前
|
存储 安全 Java
Java零基础-Java类详解
【10月更文挑战第2天】Java零基础教学篇,手把手实践教学!
13 2
|
13天前
|
Java 数据安全/隐私保护
java类和对象
java类和对象
19 5
|
13天前
|
Java 编译器 C语言
【一步一步了解Java系列】:类与对象的联系
【一步一步了解Java系列】:类与对象的联系
16 4