From 07d73df3d817d01ce47f6c7b7a8d8514cd389295 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 13 三月 2025 10:19:44 +0800
Subject: [PATCH] release: @life-payment/core v0.0.3

---
 packages/core/src/lifeRecharge.ts |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/packages/core/src/lifeRecharge.ts b/packages/core/src/lifeRecharge.ts
index 0842aba..c529319 100644
--- a/packages/core/src/lifeRecharge.ts
+++ b/packages/core/src/lifeRecharge.ts
@@ -52,4 +52,70 @@
   filterParValueList(parValueList: string[]) {
     return parValueList.filter((x) => Number(x) <= this.MaxParValue);
   }
+
+  getCarrierByPhoneNumber(phoneNumber: string): LifeRechargeConstants.IspCode {
+    // 瀹氫箟鍙锋鍜屽搴旂殑杩愯惀鍟�
+    const carrierSegments = {
+      [LifeRechargeConstants.IspCode.yidong]: [
+        '134',
+        '135',
+        '136',
+        '137',
+        '138',
+        '139',
+        '150',
+        '151',
+        '152',
+        '157',
+        '158',
+        '159',
+        '182',
+        '183',
+        '184',
+        '187',
+        '188',
+        '198',
+        '147',
+        '178',
+        '165',
+      ],
+      [LifeRechargeConstants.IspCode.liantong]: [
+        '130',
+        '131',
+        '132',
+        '155',
+        '156',
+        '185',
+        '186',
+        '145',
+        '176',
+        '166',
+      ],
+      [LifeRechargeConstants.IspCode.dianxin]: [
+        '133',
+        '153',
+        '180',
+        '181',
+        '189',
+        '177',
+        '199',
+        '191',
+      ],
+    };
+
+    // 妫�鏌ユ墜鏈哄彿鏄惁鏈夋晥锛堣繖閲屽彧绠�鍗曟鏌ラ暱搴︼級
+    if (!/^\d{11}$/.test(phoneNumber)) {
+      return '' as any;
+    }
+
+    let prefix = phoneNumber.substr(0, 3);
+    for (let carrier in carrierSegments) {
+      if (carrierSegments[carrier].includes(prefix)) {
+        return carrier as LifeRechargeConstants.IspCode;
+      }
+    }
+
+    // 濡傛灉娌℃湁鎵惧埌鍖归厤鐨勫彿娈碉紝鍒欒繑鍥炴湭鐭�
+    return '' as any;
+  }
 }

--
Gitblit v1.9.1