mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-06 05:38:00 +08:00
!387 固话号码无'-'符号无法判断是否为固话, 另增加获取固话号码中区号和号码的方法
Merge pull request !387 from Lv丶小胖/v5-dev
This commit is contained in:
commit
b68f3e4e2d
@ -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电话
|
* 座机号码+400+800电话
|
||||||
*
|
*
|
||||||
|
@ -161,4 +161,28 @@ public class PhoneUtil {
|
|||||||
public static CharSequence subAfter(CharSequence phone) {
|
public static CharSequence subAfter(CharSequence phone) {
|
||||||
return StrUtil.sub(phone, 7, 11);
|
return StrUtil.sub(phone, 7, 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取固话号码中的区号
|
||||||
|
*
|
||||||
|
* @param value 完整的固话号码
|
||||||
|
* @return 固话号码的区号部分
|
||||||
|
* @since 5.7.6
|
||||||
|
*/
|
||||||
|
public static CharSequence subTelBefore(CharSequence value)
|
||||||
|
{
|
||||||
|
return ReUtil.getGroup1(PatternPool.TEL, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取固话号码中的号码
|
||||||
|
*
|
||||||
|
* @param value 完整的固话号码
|
||||||
|
* @return 固话号码的号码部分
|
||||||
|
* @since 5.7.6
|
||||||
|
*/
|
||||||
|
public static CharSequence subTelAfter(CharSequence value)
|
||||||
|
{
|
||||||
|
return ReUtil.get(PatternPool.TEL, value, 2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -65,4 +65,35 @@ public class PhoneUtilTest {
|
|||||||
Assert.assertEquals("1234", PhoneUtil.subBetween(mobile));
|
Assert.assertEquals("1234", PhoneUtil.subBetween(mobile));
|
||||||
Assert.assertEquals("5678", PhoneUtil.subAfter(mobile));
|
Assert.assertEquals("5678", PhoneUtil.subAfter(mobile));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNewTel() {
|
||||||
|
ArrayList<String> tels = new ArrayList<>();
|
||||||
|
tels.add("010-12345678");
|
||||||
|
tels.add("01012345678");
|
||||||
|
tels.add("020-9999999");
|
||||||
|
tels.add("0209999999");
|
||||||
|
tels.add("0755-7654321");
|
||||||
|
tels.add("07557654321");
|
||||||
|
ArrayList<String> errTels = new ArrayList<>();
|
||||||
|
errTels.add("010 12345678");
|
||||||
|
errTels.add("A20-9999999");
|
||||||
|
errTels.add("0755-7654.321");
|
||||||
|
errTels.add("13619887123");
|
||||||
|
for (String s : tels) {
|
||||||
|
Assert.assertTrue(PhoneUtil.isTel(s));
|
||||||
|
}
|
||||||
|
for (String s : errTels) {
|
||||||
|
Assert.assertFalse(PhoneUtil.isTel(s));
|
||||||
|
}
|
||||||
|
Assert.assertEquals("010", PhoneUtil.subTelBefore("010-12345678"));
|
||||||
|
Assert.assertEquals("010", PhoneUtil.subTelBefore("01012345678"));
|
||||||
|
Assert.assertEquals("12345678", PhoneUtil.subTelAfter("010-12345678"));
|
||||||
|
Assert.assertEquals("12345678", PhoneUtil.subTelAfter("01012345678"));
|
||||||
|
|
||||||
|
Assert.assertEquals("0755", PhoneUtil.subTelBefore("0755-7654321"));
|
||||||
|
Assert.assertEquals("0755", PhoneUtil.subTelBefore("07557654321"));
|
||||||
|
Assert.assertEquals("7654321", PhoneUtil.subTelAfter("0755-7654321"));
|
||||||
|
Assert.assertEquals("7654321", PhoneUtil.subTelAfter("07557654321"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user