All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.hutool.core.util.PhoneUtil Maven / Gradle / Ivy

There is a newer version: 5.8.33
Show newest version
package cn.hutool.core.util;

import cn.hutool.core.lang.PatternPool;
import cn.hutool.core.lang.Validator;


/**
 * 电话号码工具类,包括:
 * 
    *
  • 手机号码
  • *
  • 400、800号码
  • *
  • 座机号码
  • *
* * @author dahuoyzs * @since 5.3.11 */ public class PhoneUtil { /** * 验证是否为手机号码(中国) * * @param value 值 * @return 是否为手机号码(中国) * @since 5.3.11 */ public static boolean isMobile(CharSequence value) { return Validator.isMatchRegex(PatternPool.MOBILE, value); } /** * 验证是否为手机号码(香港) * @param value 手机号码 * @return 是否为香港手机号码 * @since 5.6.3 * @author dazer, ourslook */ public static boolean isMobileHk(CharSequence value) { return Validator.isMatchRegex(PatternPool.MOBILE_HK, value); } /** * 验证是否为手机号码(台湾) * @param value 手机号码 * @return 是否为台湾手机号码 * @since 5.6.6 * @author ihao */ public static boolean isMobileTw(CharSequence value) { return Validator.isMatchRegex(PatternPool.MOBILE_TW, value); } /** * 验证是否为手机号码(澳门) * @param value 手机号码 * @return 是否为澳门手机号码 * @since 5.6.6 * @author ihao */ public static boolean isMobileMo(CharSequence value) { return Validator.isMatchRegex(PatternPool.MOBILE_MO, value); } /** * 验证是否为座机号码(中国) * * @param value 值 * @return 是否为座机号码(中国) * @since 5.3.11 */ public static boolean isTel(CharSequence value) { return Validator.isMatchRegex(PatternPool.TEL, value); } /** * 验证是否为座机号码(中国)+ 400 + 800 * * @param value 值 * @return 是否为座机号码(中国) * @since 5.6.3 * @author dazer, ourslook */ public static boolean isTel400800(CharSequence value) { return Validator.isMatchRegex(PatternPool.TEL_400_800, value); } /** * 验证是否为座机号码+手机号码(CharUtil中国)+ 400 + 800电话 + 手机号号码(香港) * * @param value 值 * @return 是否为座机号码+手机号码(中国)+手机号码(香港)+手机号码(台湾)+手机号码(澳门) * @since 5.3.11 */ public static boolean isPhone(CharSequence value) { return isMobile(value) || isTel400800(value) || isMobileHk(value) || isMobileTw(value) || isMobileMo(value); } /** * 隐藏手机号前7位 替换字符为"*" * 栗子 * * @param phone 手机号码 * @return 替换后的字符串 * @since 5.3.11 */ public static CharSequence hideBefore(CharSequence phone) { return StrUtil.hide(phone, 0, 7); } /** * 隐藏手机号中间4位 替换字符为"*" * * @param phone 手机号码 * @return 替换后的字符串 * @since 5.3.11 */ public static CharSequence hideBetween(CharSequence phone) { return StrUtil.hide(phone, 3, 7); } /** * 隐藏手机号最后4位 替换字符为"*" * * @param phone 手机号码 * @return 替换后的字符串 * @since 5.3.11 */ public static CharSequence hideAfter(CharSequence phone) { return StrUtil.hide(phone, 7, 11); } /** * 获取手机号前3位 * * @param phone 手机号码 * @return 手机号前3位 * @since 5.3.11 */ public static CharSequence subBefore(CharSequence phone) { return StrUtil.sub(phone, 0, 3); } /** * 获取手机号中间4位 * * @param phone 手机号码 * @return 手机号中间4位 * @since 5.3.11 */ public static CharSequence subBetween(CharSequence phone) { return StrUtil.sub(phone, 3, 7); } /** * 获取手机号后4位 * * @param phone 手机号码 * @return 手机号后4位 * @since 5.3.11 */ public static CharSequence subAfter(CharSequence phone) { return StrUtil.sub(phone, 7, 11); } /** * 获取固话号码中的区号 * * @param value 完整的固话号码 * @return 固话号码的区号部分 * @since 5.7.7 */ public static CharSequence subTelBefore(CharSequence value) { return ReUtil.getGroup1(PatternPool.TEL, value); } /** * 获取固话号码中的号码 * * @param value 完整的固话号码 * @return 固话号码的号码部分 * @since 5.7.7 */ public static CharSequence subTelAfter(CharSequence value) { return ReUtil.get(PatternPool.TEL, value, 2); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy