sms_server/backend/services/functions.py
2025-03-22 20:52:03 +08:00

18 lines
588 B
Python

from typing import Optional
import re
def extract_code_with_context(sms_content: str) -> Optional[str]:
pattern = r'(?:验证码|auth|code)[^0-9]{0,20}(\d{4,8})'
match = re.search(pattern, sms_content, re.IGNORECASE)
if match:
return match.group(1)
fallback = re.findall(r'(\d{4,8})', sms_content)
return fallback[0] if fallback else None
def extract_phone_from_sim_slot(sim_slot: Optional[str]) -> Optional[str]:
if not sim_slot:
return None
match = re.search(r'1\d{10}', sim_slot)
if match:
return match.group(0)
return None