====================================== 董事身份证号/护照号校正功能测试 ====================================== 【测试1: 9位数字+4个*的身份证号应该被校正】 ✓ 通过 输入: hk_id_no='123456789****', passport_no='' 输出: hk_id_no='', passport_no='123456789****' 【测试2: 正常香港身份证号应该保持不变】 ✓ 通过 输入: hk_id_no='A123456(7)', passport_no='' 输出: hk_id_no='A123456(7)', passport_no='' 【测试3: 空值应该保持不变】 ✓ 通过 输入: hk_id_no='', passport_no='' 输出: hk_id_no='', passport_no='' 【测试4: 身份证号已有护照号时,身份证号仍需校正】 ✓ 通过 输入: hk_id_no='987654321****', passport_no='E12345678' 输出: hk_id_no='', passport_no='987654321****' 【测试5: 身份证号包含空格时也应该校正】 ✓ 通过 输入: hk_id_no=' 111222333**** ', passport_no='' 输出: hk_id_no='', passport_no=' 111222333**** ' 【测试6: 非9+4格式的数字不应该被校正】 ✓ 通过 输入: hk_id_no='12345678****', passport_no='' 输出: hk_id_no='12345678****', passport_no='' 【测试7: 10位数字+4个*不应该被校正】 ✓ 通过 输入: hk_id_no='1234567890****', passport_no='' 输出: hk_id_no='1234567890****', passport_no='' ====================================== 测试结果: 通过 7, 失败 0 ====================================== 测试完整数据结构处理: -------------------------------------- 输入数据: { "basic_info": { "company_name_en": "Test Company Limited" }, "directors": [ { "name_en": "John Doe", "hk_id_no": "A123456(7)", "passport_no": "", "director_type": "Natural Person" }, { "name_en": "Jane Smith", "hk_id_no": "123456789****", "passport_no": "", "director_type": "Natural Person" }, { "name_en": "Bob Wilson", "hk_id_no": "987654321****", "passport_no": "E12345678", "director_type": "Natural Person" } ] } 处理后数据: { "basic_info": { "company_name_en": "Test Company Limited" }, "directors": [ { "name_en": "John Doe", "hk_id_no": "A123456(7)", "passport_no": "", "director_type": "Natural Person" }, { "name_en": "Jane Smith", "hk_id_no": "", "passport_no": "123456789****", "director_type": "Natural Person" }, { "name_en": "Bob Wilson", "hk_id_no": "", "passport_no": "987654321****", "director_type": "Natural Person" } ] } 测试完成!