python
主页 > 脚本 > python >

Python验证用户密码是否规范脚本

2024-05-14 | 佚名 | 点击:

代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

import re

 

def check_password(password):

    # 检查长度是否在6-20之间

    if not 6 <= len(password) <= 20:

        return False

    # 检查是否包含小写字母

    if not re.search(r'[a-z]',password):

        return False

    # 检查是否包含大写字母

    if not re.search(r'[A-Z]',password):

        return False

    # 检查是否包含数字

    if not re.search(r'[0-9]',password):

        return False

    # 检查是否包含特殊字符

    if not re.search(r'[!@#$%^&*()_+-=,.<>?]',password):

        return False

    return True

 

# 测试

password = "Abc123!@"

print(check_password(password)) # True

password = "abc"

print(check_password(password)) # False

描述信息:

 当然, 你也可以使用 re.compile() 函数编译了一个正则表达式,代码如下:

1

2

3

4

5

6

7

8

9

import re

 

password_pattern = re.compile(r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+-=,.<>?])[A-Za-z\d!@#$%^&*()_+-=,.<>?]{6,20}$')

 

# 测试

password = "Abc123!@"

print(bool(password_pattern.match(password))) # True

password = "abc"

print(bool(password_pattern.match(password))) # False

描述信息:

附要求:6位密码,含有数字、大小写字母,及~!@中的特殊符号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

import re

  

while True:

    pwd = input('请输入您的密码:')

    r = '^(?=.*?\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@])[0-9a-zA-Z~!@]{6}$'

    result = re.match(r, pwd)

    if result is None:

        print('请输入正确的密码格式!')

        print('要求6位密码,含有数字、大小写字母,及~!@中的特殊符号!')

    else:

        break

  

print('成功设置密码!')

print(f'您的密码是:{pwd}')

(?=.*?\d) 检查数字;(?=.*[a-z]) 检查小写英文字母;(?=.*[A-Z]) 检查大写英文字母;

测试:

1

2

# 若不限制长度

r = '^(?=.*?\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@]).*$'

总结 

原文链接:
相关文章
最新更新