以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [原创]判断密码等级自定义函数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185681)

--  作者:9EQ98
--  发布时间:2023/3/9 21:00:00
--  [原创]判断密码等级自定义函数
\' 分享1个判断密码等级函数


\' 判断密码等级(定义自等义函数:PassWord_Tier)
\' 传入参数:密码
\' 密码:Pass_Str
\' 返回:等级级别(1至6)

\' 示例: 在命令窗口中取消注释执行
\' DIM Pass_Tier AS Integer = Functions.Execute("PassWord_Tier","Aa8*>?~")
\' Output.Show(Pass_Tier)

Dim InPass_Str As String = "" \' 传入值
Dim Pass_Tier As Integer = 0
Dim Counts As Decimal = Args.Count() \'传入参数的个数
If Counts >= 1 Then \'根据传入的参数赋值
    InPass_Str = Args(0)
Else
    Return Nothing 
End If
If InPass_Str = "" Then
    Return 0
End If 

Dim 数字 As Boolean = False \' IsDigit
Dim 小写 As Boolean = False \' IsLower
Dim 大写 As Boolean = False \' IsUpper
Dim 标点 As Boolean = False \' IsPunctuation
Dim 字母 As Boolean = False \' IsLetter
Dim 符号 As Boolean = False \' IsSymbol
For I As Integer = 0 To InPass_Str.Length - 1
    \'Dim 显示 As String = ""  \' 注释
    Dim Str As String = InPass_Str.Substring(I, 1)
    \'显示 = Str & "  " & Asc(STR) & "  "  \' 注释
    If Char.IsLower(Str) = True Then
        小写 = True 
        \'显示 = 显示 & "小写字母" & " "  \' 注释
    End If
    If Char.IsUpper(Str) = True Then
        大写 = True
        \'显示 = 显示 & "大写字母" & " "  \' 注释
    End If
    If Char.IsNumber(Str) = True Then
        数字 = True
        \'显示 = 显示 & "数字" & " "  \' 注释
    End If
    If Char.IsPunctuation(Str) = True Then
        标点 = True
        \'显示 = 显示 & "标点符号" & " "  \' 注释
    End If
    If Char.IsSymbol(Str) = True Then
        符号 = True
        \'显示 = 显示 & "符号字符" & " "  \' 注释
    End If
    \'    If Char.IsSeparator(Str) = True Then  \' 注释
    \'        分隔 = True   \' 注释
    \'        显示 = 显示 & "分隔符"  \' 注释
    \'    End If
    \'    If Char.IsDigit(Str) = True Then  \' 注释
    \'        显示 = 显示 & "十进制数字"  \' 注释
    \'    End If  \' 注释
    \'    If Char.IsLetter(Str) = True Then  \' 注释
    \'       显示 = 显示 & "字母" & " "  \' 注释
    \'    End If  \' 注释
    \'    If Char.IsLetterOrDigit(Str) = True Then  \' 注释
    \'        显示 = 显示 & "字母和十进制数字"  \' 注释
    \'    End If  \' 注释
    \'    If Char.IsWhiteSpace(Str) = True Then  \' 注释
    \'        显示 = 显示 & "空白"  \' 注释
    \'    End If  \' 注释
    \'    If Char.IsControl(Str) = True Then  \' 注释
    \'        显示 = 显示 & "控制字符"  \' 注释
    \'    End If  \' 注释
    \'     Output.Show(显示)   \' 注释
Next

If InPass_Str.Length >= 4 Then \' 密码字符长度
    Pass_Tier = Pass_Tier + 1 
End If

If 数字 = True Then \' 密码字符长度
    Pass_Tier = Pass_Tier + 1 
End If
If 小写 = True Then \' 密码字符长度
    Pass_Tier = Pass_Tier + 1 
End If
If 大写 = True Then \' 密码字符长度
    Pass_Tier = Pass_Tier + 1 
End If
If 标点 = True Then \' 密码字符长度
    Pass_Tier = Pass_Tier + 1 
End If
If 字母 = True Then \' 密码字符长度
    Pass_Tier = Pass_Tier + 1 
End If
If 符号 = True Then \' 密码字符长度
    Pass_Tier = Pass_Tier + 1 
End If

Return Pass_Tier