python import re def normalize_phone(s: str) -> str: # 仅允许数字及常见分隔符;不接受含其他内容的输入 if not re.fullmatch(r"[+\d\s()-]+", s): raise ValueError("手机号包含不支持的字符") digits = re.sub(r"\D", "", s) # 接受国内 11 位号码,或带中国国家码 86 的号码 if digits.startswith("86") and len(digits) == 13: digits = digits[2:] if not re.fullmatch(r"1[3-9]\d{9}", digits): raise ValueError("不是有效的中国手机号") return digits