str.isalnum()

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值