diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java b/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java index e0519d223..7cf965deb 100755 --- a/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/RegexPool.java @@ -78,7 +78,7 @@ public interface RegexPool { /** * 座机号码 */ - String TEL = "0\\d{2,3}-[1-9]\\d{6,7}"; + String TEL = "(010|02\\d|0[3-9]\\d{2})?-?\\d{6,8}"; /** * 座机号码+400+800电话 * diff --git a/hutool-core/src/main/java/cn/hutool/core/util/PhoneUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/PhoneUtil.java index 21187a9a6..c0f33264c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/PhoneUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/PhoneUtil.java @@ -161,4 +161,16 @@ public class PhoneUtil { public static CharSequence subAfter(CharSequence phone) { return StrUtil.sub(phone, 7, 11); } + + /** + * 获取固话号码的区号 + * + * @param value 固话号码 + * @return 固话号码的区号 + * @since 5.7.6 + */ + public static CharSequence subTelAreaCode(CharSequence value) + { + return ReUtil.getGroup1(PatternPool.TEL, value); + } }