VB密码规则问题(50分)

bite119 2006-01-20 06:32:33
对于用户输入的密码,要求如下:
1.必须大于8位小于16位
2.必须有特殊字符,必须有数字,必须有大小写


请问如何去设计一个函数去检查校验,这种密码.
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lv1 2006-01-24
  • 打赏
  • 举报
回复
哈哈 太简单了
........
if trim(txtPass.text<>""then
msgbox "你填什么我都不让你过去!"
else
msgbox "你什么都不填我是不会让你过去的!"
end if

...................嘻嘻
foreverstar2004 2006-01-23
  • 打赏
  • 举报
回复
同意 zyl910(910:分儿,我又来了!)   上面的 why168() 回答的什么啊,牛头不对马嘴!
cai_dong_hai 2006-01-22
  • 打赏
  • 举报
回复
why168()不会吧 有那么简单吗 ?你的不满足他的要 求啊。
你那个只能是看密码对不对而以啦。
jadeluo(秀峰)的是最好的啊。
why168 2006-01-21
  • 打赏
  • 举报
回复
哈哈 太简单了
........
if trim(txtPass.text)=Password then
msgbox "OK"
else
msgbox "Error"
end if

...................嘻嘻
zyl910 2006-01-20
  • 打赏
  • 举报
回复
1.用Len可以取得字符串长度

2.循环检查String中的字符。Mid取子字符串,Asc得到首个字符的本地编码
jadeluo 2006-01-20
  • 打赏
  • 举报
回复
Private Function CheckPassword(ByVal sPassword As String) As Boolean
Const SpecialChars = "!@#$%^&*()-+\|=" '这里列出所有的特殊字符
Dim iLen As Integer
Dim iLoop As Integer
Dim sChar As String
Dim bHasSpecial As Boolean
Dim bHasNumber As Boolean
Dim bHasLower As Boolean
Dim bHasUpper As Boolean
iLen = Len(sPassword)
If iLen < 8 Or iLen > 16 Then
CheckPassword = False
Exit Function
End If
bHasSpecial = False
bHasNumber = False
bHasLower = False
bHasUpper = False
For iLoop = 1 To iLen
sChar = Mid(sPassword, iLoop, 1)
If InStr(SpecialChars, sChar) > 0 Then bHasSpecial = True
If sChar >= "0" And sChar <= "9" Then bHasNumber = True
If sChar >= "a" And sChar <= "z" Then bHasLower = True
If sChar >= "A" And sChar <= "Z" Then bHasUpper = True
Next iLoop
CheckPassword = bHasSpecial And bHasNumber And bHasLower And bHasUpper
End Function

Private Sub Form_Load()
Debug.Print CheckPassword("123")
Debug.Print CheckPassword("123abcDE")
Debug.Print CheckPassword("123abcDE!")
End
End Sub
rainstormmaster 2006-01-20
  • 打赏
  • 举报
回复
这类问题最好用正则表达式解决

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧