From 8226f232c39359b36aff8a9b0453c2fb48ee4372 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 18 十二月 2023 11:48:53 +0800
Subject: [PATCH] 用户列表分页加载

---
 app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java |   46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
index 0d5db30..51d32af 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
@@ -36,6 +36,8 @@
 import org.json.JSONObject;
 
 import java.util.Arrays;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * Copyright (C), 2023,
@@ -93,7 +95,7 @@
                     if (userName.length() <= 1 || !validateName(userName)) {
                         TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭鍚�");
                         return;
-                    } else if (phone.length() < 11) {
+                    } else if (phone.length() < 11 || !isValidPhoneNumber(phone)) {
                         TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭墜鏈哄彿");
                         return;
                     } else if (!Utils.check(userID)) {
@@ -115,6 +117,45 @@
             }
         });
     }
+
+    private boolean isValidPhoneNumber(String phoneNumber) {
+        // 瀹氫箟鎵嬫満鍙风殑姝e垯琛ㄨ揪寮忥紝纭繚鏁板瓧閮ㄥ垎娌℃湁杩炵画6浣嶇浉鍚岀殑鏁板瓧
+        String phoneRegex = "^1[0-9]{10}$";
+
+        // 鍒涘缓 Pattern 瀵硅薄
+        Pattern pattern = Pattern.compile(phoneRegex);
+
+        // 鍒涘缓 matcher 瀵硅薄
+        Matcher matcher = pattern.matcher(phoneNumber);
+
+        // 鍒ゆ柇鎵嬫満鍙锋槸鍚﹀尮閰嶆鍒欒〃杈惧紡
+        return matcher.matches() && !hasSixConsecutiveSameDigits(phoneNumber);
+    }
+
+    /**
+     * 鍒ゆ柇鏄惁鏈�6涓浉鍚岀殑杩炵画鏁板瓧
+     *
+     * @param input
+     * @return
+     */
+    public static boolean hasSixConsecutiveSameDigits(String input) {
+        char[] digits = input.toCharArray();
+
+        for (int i = 0; i <= digits.length - 6; i++) {
+            boolean consecutiveSame = true;
+            for (int j = 1; j < 6; j++) {
+                if (digits[i + j] != digits[i + j - 1]) {
+                    consecutiveSame = false;
+                    break;
+                }
+            }
+            if (consecutiveSame) {
+                return true;
+            }
+        }
+        return false;
+    }
+
 
     private void rxPermission() {
         PermissionX.init(NewCardActivity.this).permissions(Manifest.permission.CAMERA)
@@ -320,10 +361,11 @@
             return (c >= 0x4e00 && c <= 0x9fa5);
         }
     }
+
     @Override
     protected void onDestroy() {
         super.onDestroy();
-        newCardActivity=null;
+        newCardActivity = null;
     }
 
 }

--
Gitblit v1.8.0