欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

常用java正則表達(dá)式的工具類

 更新時(shí)間:2018年01月30日 16:01:26   作者:小甜瓜安東泥  
這篇文章主要為大家詳細(xì)介紹了常用java正則表達(dá)式的工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java正則表達(dá)式工具類的具體代碼,供大家參考,具體內(nèi)容如下

import com.google.common.base.Strings;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 常用的正則表達(dá)式
 * Created by tookbra on 2016/4/7.
 */
public class RegexUtils {
  /**
   * 判斷是否是正確的IP地址
   *
   * @param ip
   * @return boolean true,通過(guò),false,沒(méi)通過(guò)
   */
  public static boolean isIp(String ip) {
    if (Strings.isNullOrEmpty(ip))
      return false;
    String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
        + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
        + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
        + "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
    return ip.matches(regex);
  }
  /**
   * 判斷是否是正確的郵箱地址
   *
   * @param email
   * @return boolean true,通過(guò),false,沒(méi)通過(guò)
   */
  public static boolean isEmail(String email) {
    if (Strings.isNullOrEmpty(email))
      return false;
    String regex = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
    return email.matches(regex);
  }
  /**
   * 判斷是否含有中文,僅適合中國(guó)漢字,不包括標(biāo)點(diǎn)
   * @param text
   * @return boolean true,通過(guò),false,沒(méi)通過(guò)
   */
  public static boolean isChinese(String text) {
    if (Strings.isNullOrEmpty(text))
      return false;
    Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
    Matcher m = p.matcher(text);
    return m.find();
  }
  /**
   * 判斷是否正整數(shù)
   *
   * @param number
   *      數(shù)字
   * @return boolean true,通過(guò),false,沒(méi)通過(guò)
   */
  public static boolean isNumber(String number) {
    if (Strings.isNullOrEmpty(number))
      return false;
    String regex = "[0-9]*";
    return number.matches(regex);
  }
  /**
   * 判斷幾位小數(shù)(正數(shù))
   *
   * @param decimal
   *      數(shù)字
   * @param count
   *      小數(shù)位數(shù)
   * @return boolean true,通過(guò),false,沒(méi)通過(guò)
   */
  public static boolean isDecimal(String decimal, int count) {
    if (Strings.isNullOrEmpty(decimal))
      return false;
    String regex = "^(-)?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){" + count
        + "})?$";
    return decimal.matches(regex);
  }
  /**
   * 判斷是否是移動(dòng)手機(jī)號(hào)碼
   *
   * @param phoneNumber
   *      移動(dòng)手機(jī)號(hào)碼
   * @return boolean true,通過(guò),false,沒(méi)通過(guò)
   */
  public static boolean isMobilePhoneNumber(String phoneNumber) {
    if (Strings.isNullOrEmpty(phoneNumber))
      return false;
    String regex = "^((13[0-9])|(15[0-9])|(18[1-9]))\\d{8}$";
    return phoneNumber.matches(regex);
  }

  /**
   * 判斷是否是手機(jī)號(hào)碼
   *
   * @param phoneNumber
   *      移動(dòng)手機(jī)號(hào)碼
   * @return boolean true,通過(guò),false,沒(méi)通過(guò)
   */
  public static boolean isPhoneNumber(String phoneNumber) {
    if (Strings.isNullOrEmpty(phoneNumber))
      return false;
    String regex = "^1\\d{10}$";
    return phoneNumber.matches(regex);
  }
  /**
   * 判斷是否含有特殊字符
   *
   * @param text
   * @return boolean true,通過(guò),false,沒(méi)通過(guò)
   */
  public static boolean hasSpecialChar(String text) {
    if (Strings.isNullOrEmpty(text))
      return false;
    if (text.replaceAll("[a-z]*[A-Z]*\\d*-*_*\\s*", "").length() == 0) {
      // 如果不包含特殊字符
      return true;
    }
    return false;
  }

  private static boolean isChinese(char c) {
    Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
    if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
        || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
        || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
        || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
        || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
        || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
        || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {
      return true;
    }
    return false;
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Spring Boot配置排序依賴技巧

    詳解Spring Boot配置排序依賴技巧

    本篇文章主要介紹了Spring Boot配置排序依賴技巧,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 使用Kubernetes和Docker部署Java微服務(wù)詳細(xì)代碼

    使用Kubernetes和Docker部署Java微服務(wù)詳細(xì)代碼

    Java微服務(wù)項(xiàng)目是一種基于Java技術(shù)棧的分布式系統(tǒng)開(kāi)發(fā)方式,下面這篇文章主要給大家介紹了關(guān)于使用Kubernetes和Docker部署Java微服務(wù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • Java中ArrayList集合的常用方法大全

    Java中ArrayList集合的常用方法大全

    這篇文章主要給大家介紹了關(guān)于Java中ArrayList集合的常用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Java實(shí)現(xiàn)文件讀取和寫(xiě)入過(guò)程解析

    Java實(shí)現(xiàn)文件讀取和寫(xiě)入過(guò)程解析

    這篇文章主要介紹了Java實(shí)現(xiàn)文件讀取和寫(xiě)入過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值。,需要的朋友可以參考下
    2019-10-10
  • SpringMVC集成FastJson使用流程詳解

    SpringMVC集成FastJson使用流程詳解

    如果你使用 Spring MVC 來(lái)構(gòu)建 Web 應(yīng)用并對(duì)性能有較高的要求的話,可以使用 Fastjson 提供的FastJsonHttpMessageConverter 來(lái)替換 Spring MVC 默認(rèn)的 HttpMessageConverter 以提高 @RestController @ResponseBody @RequestBody 注解的 JSON序列化速度
    2023-02-02
  • 分享Java開(kāi)發(fā)必須掌握的日志分析命令

    分享Java開(kāi)發(fā)必須掌握的日志分析命令

    這篇文章主要介紹了分享Java開(kāi)發(fā)必須掌握的日志分析命令,在日常工作中,如果我們遇到線上問(wèn)題,一般的處理步驟應(yīng)該是先保留現(xiàn)場(chǎng),然后再考慮回滾,之后再是解決問(wèn)題
    2019-07-07
  • 全面了解OAuth?2.0四種授權(quán)方式金三銀四無(wú)懼面試

    全面了解OAuth?2.0四種授權(quán)方式金三銀四無(wú)懼面試

    這篇文章主要介紹了全面了解OAuth?2.0四種授權(quán)方式金三銀四無(wú)懼面試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Spring boot配置 swagger的示例代碼

    Spring boot配置 swagger的示例代碼

    Swagger是一組開(kāi)源項(xiàng)目,Spring 基于swagger規(guī)范,可以將基于SpringMVC和Spring Boot項(xiàng)目的項(xiàng)目代碼,自動(dòng)生成JSON格式的描述文件,接下來(lái)通過(guò)本文給大家介紹Spring boot配置 swagger的示例代碼,一起看看吧
    2021-09-09
  • 使用Thrift實(shí)現(xiàn)跨語(yǔ)言RPC的調(diào)用

    使用Thrift實(shí)現(xiàn)跨語(yǔ)言RPC的調(diào)用

    Thrift最大的優(yōu)勢(shì)就是可以實(shí)現(xiàn)跨語(yǔ)言RPC調(diào)用,尤其在一些大廠,微服務(wù)各模塊之間使用不同的語(yǔ)言是很常見(jiàn)的,本文就將使用java作為服務(wù)端,用python作為客戶端,實(shí)現(xiàn)不同語(yǔ)言之間的RPC調(diào)用,需要的可以參考下
    2023-10-10
  • Spring MVC整合Kaptcha的具體使用

    Spring MVC整合Kaptcha的具體使用

    Kaptcha 是一個(gè)可高度配置的實(shí)用驗(yàn)證碼生成工具,本文主要介紹了Spring MVC整合Kaptcha的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06

最新評(píng)論