基于SAS的email_address字段合规校验逻辑开发及异常报告需求
Email Address 校验逻辑实现方案
核心校验规则
需对email_address字段执行以下4项严格校验:
- 字段值不得包含任何空白字符(包括空格、制表符、换行符等)
@和.既不能作为字段的首字符,也不能作为尾字符- 字段值必须包含且仅能存在一个
@符号 - 字段值中禁止出现连续的
..字符
校验逻辑实现示例(Python)
以下是可直接复用的校验函数,会返回校验结果及对应违规原因,便于批量收集异常数据:
def validate_email(email): # 校验规则1:排查空白字符 if any(char.isspace() for char in email): return False, "包含空白字符" # 校验规则2:@/.不能在首尾 if email.startswith(('@', '.')) or email.endswith(('@', '.')): return False, "@或.出现在字段首尾" # 校验规则3:仅允许一个@ if email.count('@') != 1: return False, "包含0个或多个@符号" # 校验规则4:禁止连续.. if '..' in email: return False, "存在连续的..字符" return True, "校验通过" # 异常报告收集示例 invalid_email_report = [] sample_emails = ["test@example.com", " test@com", "@test.com", "test@@com", "test..com", "test.com@"] for email in sample_emails: valid, reason = validate_email(email) if not valid: invalid_email_report.append({ "email_address": email, "violation_reason": reason }) print("异常邮箱报告:", invalid_email_report)
异常报告规范
所有校验不通过的email_address,需同步记录具体邮箱值和对应的违规原因(参考上述示例格式),方便后续核查与处理。
内容的提问来源于stack exchange,提问作者sildaf88
相关产品推荐
相关产品推荐

