### Question:
RegexUtil { public static boolean isPhoneNumber(String num) { if (num == null) return false; num = num.replace(" ", ""); num = num.replaceAll("^\\+?86", ""); return num.matches("^0\\d{2,3}-?[1-9]\\d{4,7}$"); }  static boolean isIdentityNumber(String num); static boolean isCellphoneNumber(String num); static boolean isCellphoneNumber(String num, boolean virtual); static boolean isPhoneNumber(String num); static boolean isAuthCode(String num); static boolean isAuthCode(String num, int min, int max); static boolean isName(String name); static boolean isVehicleLicence(String license); static boolean isEmail(String email); static boolean isBankCard(String card); static boolean isLowerMoney(String money); static boolean isInteger(String integer, long min, long max); static boolean isPassword(String password); static boolean isComplexPassword(String password); static boolean isIpAddress(String address); static boolean isIp4Address(String address); static boolean isIp6Address(String address);  }### Answer:
@Test public void isPhoneNumber() { assertTrue(RegexUtil.isPhoneNumber("08387450459")); assertTrue(RegexUtil.isPhoneNumber("0838-7450459")); assertTrue(RegexUtil.isPhoneNumber("8608387450459")); assertTrue(RegexUtil.isPhoneNumber("+8608387450459")); }