溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2020-09-28 04:35:21 來(lái)源:腳本之家 閱讀:153 作者:小甜瓜安東泥 欄目:編程語(yǔ)言

本文實(shí)例為大家分享了java正則表達(dá)式工具類(lèi)的具體代碼,供大家參考,具體內(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í)有所幫助,也希望大家多多支持億速云。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI