24 lines
568 B
Python
24 lines
568 B
Python
def mask_mobile(value: str | None) -> str:
|
|
if not value:
|
|
return ""
|
|
if len(value) < 7:
|
|
return "***"
|
|
return f"{value[:3]}****{value[-4:]}"
|
|
|
|
|
|
def mask_email(value: str | None) -> str:
|
|
if not value or "@" not in value:
|
|
return ""
|
|
name, _, domain = value.partition("@")
|
|
if not name or not domain:
|
|
return ""
|
|
return f"{name[:1]}***@{domain}"
|
|
|
|
|
|
def mask_id_card(value: str | None) -> str:
|
|
if not value:
|
|
return ""
|
|
if len(value) < 8:
|
|
return "***"
|
|
return f"{value[:4]}**********{value[-4:]}"
|