From da8f72d2db0bbfc221a881d5aa31065cd5717043 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 19 十二月 2023 14:56:01 +0800
Subject: [PATCH] 修改密码登录相关

---
 app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java |  115 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 75 insertions(+), 40 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 ddbc7c2..f552940 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
@@ -12,7 +12,7 @@
 
 import com.dayu.recharge.utils.DeviceNumberUtils;
 import com.dayu.recharge.view.ProgressDialog;
-import com.msd.ocr.idcard.LibraryInitOCR;
+
 import com.dayu.recharge.MyApplication;
 import com.dayu.recharge.card.UserCard;
 import com.dayu.recharge.databinding.ActivityNewCardBinding;
@@ -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,
@@ -77,44 +79,80 @@
             }
         });
 
-        newCardBinding.newCardRegistBtn.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
+        newCardBinding.newCardRegistBtn.setOnClickListener(v -> {
 
-                String userName = newCardBinding.newCardName.getText().toString();
-                long date = System.currentTimeMillis();
-                String phone = newCardBinding.newCardPhone.getText().toString();
-                String userID = newCardBinding.newCardId.getText().toString().toUpperCase();
+            String userName = newCardBinding.newCardName.getText().toString();
+            long date = System.currentTimeMillis();
+            String phone = newCardBinding.newCardPhone.getText().toString();
+            String userID = newCardBinding.newCardId.getText().toString().toUpperCase();
 
 
-                if (!TextUtils.isEmpty(userName)
-                        && !TextUtils.isEmpty(phone) && !TextUtils.isEmpty(userID)
-                ) {
-                    if (userName.length() <= 1 || !validateName(userName)) {
-                        TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭鍚�");
-                        return;
-                    } else if (phone.length() < 11) {
-                        TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭墜鏈哄彿");
-                        return;
-                    } else if (!Utils.check(userID)) {
-                        TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭韩浠借瘉鍙�");
-                        return;
-                    } else {
-                        userCardBean = new UserCardBean();
-                        userCardBean.setUserName(userName);
-                        userCardBean.setDate(date);
-                        userCardBean.setSerial(adminData.getSerial());
-                        userCardBean.setPhone(phone);
-                        userCardBean.setUserID(userID);
-                        initCard();
-                    }
-
+            if (!TextUtils.isEmpty(userName)
+                    && !TextUtils.isEmpty(phone) && !TextUtils.isEmpty(userID)
+            ) {
+                if (userName.length() <= 1 || !validateName(userName)) {
+                    TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭鍚�");
+                    return;
+                } else if (phone.length() < 11 || !isValidPhoneNumber(phone)) {
+                    TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭墜鏈哄彿");
+                    return;
+                } else if (!Utils.check(userID)) {
+                    TipUtil.show(NewCardActivity.this, "璇疯緭鍏ユ纭韩浠借瘉鍙�");
+                    return;
                 } else {
-                    TipUtil.show(NewCardActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
+                    userCardBean = new UserCardBean();
+                    userCardBean.setUserName(userName);
+                    userCardBean.setDate(date);
+                    userCardBean.setSerial(adminData.getSerial());
+                    userCardBean.setPhone(phone);
+                    userCardBean.setUserID(userID);
+                    initCard();
                 }
+
+            } else {
+                TipUtil.show(NewCardActivity.this, "璇疯緭鍏ュ畬鏁村唴瀹�");
             }
         });
     }
+
+    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)
@@ -124,7 +162,7 @@
                 })
                 .request((allGranted, grantedList, deniedList) -> {
                     if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃
-                        startCamera();
+//                        startCamera();
                     } else {//鎮ㄦ嫆缁濅簡濡備笅鏉冮檺锛�$deniedList
 
 
@@ -133,14 +171,6 @@
     }
 
 
-    private void startCamera() {
-
-        Bundle bundle = new Bundle();
-        bundle.putBoolean("saveImage", false);
-        bundle.putInt("requestCode", SCAN_IDCARD_REQUEST);
-        bundle.putInt("type", 0); //0韬唤璇�, 1椹鹃┒璇�
-        LibraryInitOCR.startScan(NewCardActivity.this, bundle);
-    }
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
@@ -321,5 +351,10 @@
         }
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        newCardActivity = null;
+    }
 
 }

--
Gitblit v1.8.0