str.isalnum()
2026/4/18 21:56:23 网站建设 项目流程
1. 功能定义

str.isalnum()是 Python 字符串对象的内置方法,用于检查字符串是否仅包含字母(a-z, A-Z)和数字(0-9),且至少包含一个字符。返回值为布尔类型(True/False)。

2. 语法格式
string.isalnum() # 无参数
3. 核心特性
  • 非空校验:空字符串("")返回False
  • 字符范围
    • 字母:支持 Unicode 字母(如中文、日文、希腊字母等),不仅限于 ASCII。
    • 数字:支持 Unicode 数字(如½等)。
  • 排除字符:空格、标点、符号(如!@#$%^&*())均会导致返回False
4. 典型示例
代码示例返回值说明
"abc123".isalnum()True纯字母+数字
"ABCdef456".isalnum()True大小写字母+数字
"123ⅣⅤⅥ".isalnum()True阿拉伯数字+罗马数字
"中文123".isalnum()TrueUnicode 字母(中文)+数字
"abc!123".isalnum()False包含感叹号!
"abc 123".isalnum()False包含空格
"".isalnum()False空字符串
5. 常见应用场景
  • 数据清洗:验证用户名、密码是否仅包含允许字符(如“字母+数字”组合)。
  • 格式校验:检查身份证号、产品编码等是否符合“字母+数字”格式。
  • 文本过滤:从混合文本中筛选出纯字母数字内容。
6. 注意事项
  • Unicode 兼容性:在 Python 3 中,isalnum()完全支持 Unicode 字符,这与 Python 2 不同。
  • isalpha()/isdigit()的区别
    • isalpha():仅允许字母。
    • isdigit():仅允许数字。
    • isalnum():允许字母或数字的组合。
7. 扩展思考

如果需要仅允许 ASCII 字符,可结合str.isascii()使用:

def is_ascii_alnum(s): return s.isalnum() and s.isascii() is_ascii_alnum("abc123") # True is_ascii_alnum("中文123") # False(中文非 ASCII)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询