0. element-ui中的邮箱正则
/[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?/
1. 校验邮箱
# 方法一:
email_pattern = r"^[a-z0-9][\w.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$"
ret = (email_pattern, "1341935533@")
if ret:
print(())
方法二:
email_pattern = r"^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+){0,4}@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+){0,4}$"
ret = (email_pattern, "mayanan_net@")
if ret:
print(())
方法三:
import re
def checkEmail(email):
regex_1 = '^(\w+)@$'
regex_2 = '^(\w+)@$'
regex_3 = '^(\w+)@$'
regex_4 = '^(\w+)@$'
regex_5 = '^[1-9][0,9]{4,}+@$'
regex = [regex_1 ,regex_2 ,regex_3, regex_4, regex_5]
for i in regex:
result = (i,email)
if result:
print("匹配成功")
return True
else:
print("匹配失败")
return False
email = 'sdjflsdjkl@'
checkEmail(email)
2. 校验手机号
首先,我们要知道我们的手机号码是什么开头的?
移动手机号码开头有16个号段:134、135、136、137、138、139、147、150、151、152、157、158、159、182、187、188。
联通手机号码开头有7种号段:130、131、132、155、156、185、186。
电信手机号码开头有4个号段:133、153、180、189。
import re
from typing import Union
PHONE_PATTERN = ("^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$")
def is_phone_number(phone: Union[str, int]) -> bool:
phone = str(phone)
if not ():
return False
return bool(PHONE_PATTERN.match(phone))
ret = is_phone_number("15313067272")
print(ret)
3. 校验密码:必须以字母或下划线开头,最小长度6位
PASSWORD_PATTERN = (r"^[a-zA-Z_]\w{5,}$")
4. 弱密码校验
pwd = (r"^(?![0-9]+$)[0-9a-zA-Z\\\,\`\!\@\#\$\%\^\&\*\[\]\{\}\?\<\>\.\/\-\+\=\_]{8,20}$")
5. 必须包含至少一个字母、一个数字和一个特殊字符,并且长度为6到20个字符
PASSWORD_REX = r"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&\.~\\#\^\(\)\-\_/]).{6,20}$"