# 检验IC卡扇区密钥是否正确
function CheckCardKey(const CheckCardKey: string): Boolean;//验证卡片扇区密钥
const
EMAIL_REGEX = '^[0-9A-Fa-f]{12}$';
begin
try
Result := TRegEx.IsMatch(CheckCardKey, EMAIL_REGEX);
finally
end;
end;
# 检验电子邮箱EMail地址是否正确
function CheckEmailAdress(const EmailAddr: string): Boolean;//验证Email
const
EMAIL_REGEX = '^((?>[a-zA-Z\d!#$%&''*+\-/=?^_`{|}~]+\x20*|"((?=[\x01-\x7f])' + '[^"\\]|\\[\x01-\x7f])*"\x20*)*(?<angle><))?((?!\.)' + { }
'(?>\.?[a-zA-Z\d!#$%&''*+\-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]' + { }
'{2,}|\[(((?(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)\])(?(angle)>)$';
begin
try
Result := TRegEx.IsMatch(EmailAddr, EMAIL_REGEX);
finally
end;
end;
# 检验手机号或座机号是否正确
function CheckTelePhoneOrMobile(const ANumber: string): Boolean;//验证手机号或座机号
const
PHONE_REGEX = '^(0\d{2,3}-\d{7,8})|(1[3-9]\d{9})$';
begin
try
Result := TRegEx.IsMatch(ANumber, PHONE_REGEX);
finally
end;
end;
# 检验姓名是否是汉字、字母或·
function CheckName(const AName:string):Boolean;//验证姓名 汉字英文或·
//只检查基本汉字:
// var Pattern := '^[\x{4E00}-\x{9FA5}]{2,'+aMaxLength.ToString+'}(·[\x{4E00}-\x{9FA5}]{2,'+aMaxLength.ToString+'}){0,2}$';
//检查下面所有内容:
//基本汉字 4E00-9FA5
//基本汉字补充 9FA6-9FCB
//扩展A 3400-4DB5
//扩展B 20000-2A6D6
//扩展C 2A700-2B734
//扩展D 2B740-2B81D
//兼容汉字 F900-FAD9
const
NAME_REGEX = '^[\x{4E00}-\x{9FA5}\x{9FA6}-\x{9FCB}\x{3400}-\x{4DB5}\x{20000}-\x{2A6D6}\x{2A700}-\x{2B734}\x{2B740}-\x{2B81D}\x{F900}-\x{FAD9}-Za-z·]' +
'+([ ][\x{4E00}-\x{9FA5}\x{9FA6}-\x{9FCB}\x{3400}-\x{4DB5}\x{20000}-\x{2A6D6}\x{2A700}-\x{2B734}\x{2B740}-\x{2B81D}\x{F900}-\x{FAD9}-Za-z·]+)*$';
begin
try
Result := TRegEx.IsMatch(AName, NAME_REGEX);
finally
end;
end;
# 检查密码强度
function CheckPassWordStrong(const APassword: string): Boolean;
const
// 这里定义密码的强度规则,例如:至少8个字符,包含大写字母、小写字母、数字、特殊字符
StrongPasswordRegex = '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).{8,}$';
begin
Result := TRegEx.IsMatch(APassword, StrongPasswordRegex);
end;
Python