diff --git a/src/main/java/edu/bjtu/groupone/backend/BackendApplication.java b/src/main/java/edu/bjtu/groupone/backend/BackendApplication.java
index e60b1d5..1cc2086 100644
--- a/src/main/java/edu/bjtu/groupone/backend/BackendApplication.java
+++ b/src/main/java/edu/bjtu/groupone/backend/BackendApplication.java
@@ -15,4 +15,5 @@
     public static void main(String[] args) {
         SpringApplication.run(BackendApplication.class, args);
     }
+
 }
diff --git a/src/main/java/edu/bjtu/groupone/backend/api/UserController.java b/src/main/java/edu/bjtu/groupone/backend/api/UserController.java
index d5c6775..1e2746f 100644
--- a/src/main/java/edu/bjtu/groupone/backend/api/UserController.java
+++ b/src/main/java/edu/bjtu/groupone/backend/api/UserController.java
@@ -85,7 +85,7 @@
      */
     @Operation(
             summary = "用户注册",
-            description = "注册新用户，必须提供用户名、邮箱、验证码、密码",
+            description = "注册新用户，必须提供用户名、邮箱、验证码、密码和身份证号码",
             responses = {
                     @ApiResponse(
                             responseCode = "200",
@@ -116,6 +116,7 @@
         String email = request.getEmail();
         String code = request.getVerificationCode();
         String pwd = request.getPassword();
+        String idNumStr = request.getIdentificationNumber();
 
         // 验证验证码
         if (!userService.verifyCode(email, code)) {
@@ -133,11 +134,19 @@
             return Result.error("用户名已被占用");
         }
 
+        // 验证身份证号码
+        int idNum = Integer.parseInt(idNumStr);
+        if (userService.isIdentificationNumberExists(idNum)) {
+            return Result.error("身份证号码已被注册");
+        }
+
         // 创建新用户
         User newUser = new User();
         newUser.setUsername(username);
         newUser.setEmail(email);
         newUser.setPassword(pwd);
+        newUser.setIdentificationNumber(idNum);
+
         userService.register(newUser);
         return Result.success("注册成功");
     }
diff --git a/src/main/java/edu/bjtu/groupone/backend/domain/dto/RegisterRequest.java b/src/main/java/edu/bjtu/groupone/backend/domain/dto/RegisterRequest.java
index 3e6d2cb..fd4cc5a 100644
--- a/src/main/java/edu/bjtu/groupone/backend/domain/dto/RegisterRequest.java
+++ b/src/main/java/edu/bjtu/groupone/backend/domain/dto/RegisterRequest.java
@@ -28,4 +28,10 @@
     @Size(min = 6, message = "密码长度至少为6位")
     @Schema(description = "用户密码", required = true, example = "password123")
     private String password;
+
+    @NotNull(message = "身份证号码不能为空")
+    @Pattern(regexp = "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}(\\d|X|x)$", 
+             message = "请输入有效的身份证号码")
+    @Schema(description = "用户身份证号码", required = true, example = "110101199001011234")
+    private String identificationNumber;
 }    
\ No newline at end of file
diff --git a/src/main/java/edu/bjtu/groupone/backend/domain/entity/User.java b/src/main/java/edu/bjtu/groupone/backend/domain/entity/User.java
index 6db1f7f..2e4ddef 100644
--- a/src/main/java/edu/bjtu/groupone/backend/domain/entity/User.java
+++ b/src/main/java/edu/bjtu/groupone/backend/domain/entity/User.java
@@ -17,6 +17,7 @@
     private String role;
     private String profilePic;
     private String registrationDate;
+    private int identificationNumber;
     private String avatar;// 头像
     private boolean isfollowed = false;
 }
