身份证号和手机号属于个人隐私信息,编写程序,将用户输入的手机号的4~7位和身份证号的7~14位用“*”替换。为简化问题,设置用户输入身份证号或手机号带中文描述,中间不加空格或其他符号,即身份证号+18位数字或手机号+11位数字。
时间: 2024-10-21 19:15:54 浏览: 28
计算机软件-编程源码-区号身份证手机号码归属地查询.zip
保护个人信息是非常重要的,尤其是敏感的手机号码和个人身份证号码。在编写程序时,可以采用以下步骤来实现这个功能:
1. 首先,接收用户的输入,这通常是一个字符串,可能是身份证号或手机号。你可以使用正则表达式来检查输入的长度是否符合预期。
2. 对于手机号,检查其长度是否为11位,如果是,则截取第4到第7位,并用星号(*)替换成原始字符。例如,如果输入是"13912345678",处理后的结果应该是"139****5678"。
3. 对于身份证号,检查其长度是否为18位。如果长度合适,提取第7到第14位并用星号替换,注意在中国身份证号码中,第7到14位是出生日期,包括年、月和日。如输入是"123456789012345678",则变为"1234****56789012"。
```python
def mask_sensitive_info(input_str):
if len(input_str) == 11 and input_str.isdigit(): # 手机号验证
return input_str[:3] + '*' * 4 + input_str[-4:]
elif len(input_str) == 18 and input_str.isnumeric(): # 身份证号验证
return input_str[:6] + '*' * 8 + input_str[-6:]
else:
return "输入的字符串不符合要求,请提供正确的11位手机号或18位身份证号"
# 示例使用
user_input = input("请输入手机号或身份证号(无空格):")
masked_info = mask_sensitive_info(user_input)
print("隐藏部分信息后的字符串:", masked_info)
```
阅读全文