判断用户名是否合法 案例需求:用户名长度在3~10范围内,不能出现敏感词admin的任何大小写形式。
时间: 2024-09-26 21:14:43 浏览: 48
判断用户名是否合法通常涉及到正则表达式验证和字符串处理。以下是一个简单的Python函数示例,用于满足案例中的需求:
```python
import re
def is_valid_username(username):
# 正则表达式匹配用户名长度范围
if len(username) < 3 or len(username) > 10:
return False
# 禁止包含"admin"或其大小写形式
forbidden_words = ["admin", "Admin", "AdMiN", "aDmIn"]
for word in forbidden_words:
if username.lower().find(word.lower()) != -1:
return False
# 如果以上条件都通过,则用户名合法
return True
```
这个函数首先检查用户名长度是否在3到10字符之间,然后遍历敏感词列表,如果用户名中含有"admin"的任一形式(忽略大小写),就返回False。最后,如果没有违反任何规则,就返回True。
相关问题
2、判断用户名是否合法 案例需求:用户名长度在3~10范围内,不能出现敏感词admin的任何大小写形式。
在编程中,验证用户名的合法性通常涉及以下几个步骤:
1. **长度检查**:首先,你需要检查用户名的长度是否在指定范围内,比如从3个字符到10个字符。这可以使用字符串的`len()`函数来计算。
```python
def check_length(username):
if len(username) < 3 or len(username) > 10:
return False
```
2. **敏感词过滤**:接着,遍历敏感词列表(如"admin"、"AdMiN"、"admIn"等),使用Python的`in`关键字检测用户名中是否存在这些词的任意变形。可以转换成小写或大写进行比较,以便不区分大小写。
```python
sensitive_words = ["admin", "AdMiN", "admIn"]
username_lower = username.lower() # 转换为小写
if "admin" in username_lower:
return False
```
将这两部分组合起来,形成完整的用户名合法性检查函数:
```python
def is_username_valid(username):
if not (3 <= len(username) <= 10):
return False
sensitive_words = ["admin", "AdMiN", "admIn"]
username_lower = username.lower()
for word in sensitive_words:
if word in username_lower:
return False
return True
```
判断用户名是否合法 案例需求:用户名长度在3~10范围内,不能出现敏感词admin的任何大小写形式。
判断用户名是否合法通常涉及以下几个步骤:
1. 长度验证:首先检查用户名的长度是否在指定范围,即从3到10个字符之间。可以使用编程语言提供的字符串长度函数来进行这个检验。
```python
def is_valid_length(username):
if len(username) < 3 or len(username) > 10:
return False
else:
return True
```
2. 敏感词过滤:创建一个包含敏感词"admin"及其实变体(如"Admin", "AdMiN", 等)的列表,然后遍历这个列表检查用户名是否匹配其中任何一个。
```python
sensitive_words = ["admin", "AdMiN", "ADMIN"]
def contains_sensitive_word(username):
for word in sensitive_words:
if username.lower() == word.lower():
return False
return True
```
综合这两个函数:
```python
def is_username_valid(username):
if not is_valid_length(username):
return False
elif not contains_sensitive_word(username):
return True
else:
return False
```
阅读全文