|
@@ -0,0 +1,40 @@
|
|
|
+package com.slibra.common.utils;
|
|
|
+
|
|
|
+public class PhoneNumberToChineseUtil {
|
|
|
+
|
|
|
+ // 中文数字映射
|
|
|
+ private static final String[] CHINESE_DIGITS = {"零", "幺", "二", "三", "四", "五", "六", "七", "八", "九"};
|
|
|
+
|
|
|
+ // 将数字转换为中文数字
|
|
|
+ private static String numberToChinese(int number) {
|
|
|
+ return CHINESE_DIGITS[number];
|
|
|
+ }
|
|
|
+
|
|
|
+ // 将手机号转换为中文数字并按照3-4-4格式拆分
|
|
|
+ public static String convertPhoneNumber(String phoneNumber) {
|
|
|
+ if (phoneNumber == null || phoneNumber.length() != 11) {
|
|
|
+ return phoneNumber;
|
|
|
+ }
|
|
|
+
|
|
|
+ StringBuilder chinesePhoneNumber = new StringBuilder();
|
|
|
+ for (char ch : phoneNumber.toCharArray()) {
|
|
|
+ int digit = Character.getNumericValue(ch);
|
|
|
+ chinesePhoneNumber.append(numberToChinese(digit));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 移除最后一个空格,并按照3-4-4格式拆分
|
|
|
+ String result = chinesePhoneNumber.toString().trim();
|
|
|
+ // return result.substring(0, 3) + " " + result.substring(3, 7) + " " + result.substring(7, 11);
|
|
|
+ return String.format("%s %s %s",
|
|
|
+ result.substring(0, 3),
|
|
|
+ result.substring(3, 7),
|
|
|
+ result.substring(7, 11)
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ String phoneNumber = "15075275358";
|
|
|
+ String chineseFormattedPhoneNumber = PhoneNumberToChineseUtil.convertPhoneNumber(phoneNumber);
|
|
|
+ System.out.println(chineseFormattedPhoneNumber);
|
|
|
+ }
|
|
|
+}
|