VB请教!向大侠求解一道VB题目,关于用户名和密码,急啊!

功能说明:在某网站申请免费信箱时,要求用户必须输入用户名、密码及确认密码,对每一项输入条件的要求如下:用户名要求4~16位之间,使用英文字母、数字、“-”、“_”,并且首字符必须为字母或数字;密码要求为6~16位之间,只能使用英文字母、数字以及“-”、“_”,并且区分大小写。

然后这是我写的代码,求指错,求运行成功!!!

Private Sub Command1_Click()
H = True
i = Len(Text1.Text)
j = Len(Text2.Text)

If Len(4 < i Or i > 16) Then '用户名在4到16位之间
Form2.Show
Form4.Hide
End If

x = Left(Text1.Text, 1)
m = Asc(x)
If (m < 48 Or m > 57) Then '判断用户名的首字母
If (m < 65 Or m > 90) Then
If (m < 97 Or m > 122) Then
Form2.Show
Form4.Hide
H = False
End If
End If
End If

For a = 2 To 16
y = Left(Text1.Text, a)
p = Right(n, 1)
n = Asc(y)
If (n < 48 Or n > 57) Then '判断用户名的合法符号
If (n < 65 Or n > 90) Then
If (n < 97 Or n > 122) Then
If (n <> 45 Or n <> 95) Then
Form2.Show
Form4.Hide
H = False
End If
End If
End If
End If
Next a

If (6 < j Or j > 16) Then '密码在6到16位之间
Form3.Show
Form4.Hide
End If

For b = 1 To 16
z = Left(Text2.Text, b)
q = Right(z, 1)
s = Asc(q)
If (s < 48 Or s > 57) Then '判断用密码的合法符号
If (s < 65 Or s > 90) Then
If (s < 97 Or s > 122) Then
If (s <> 45 Or s <> 95) Then
Form3.Show
Form4.Hide
H = False
End If
End If
End If
End If
Next b

End Sub

Private Sub Command2_Click()
End
End Sub

Dim pS As String

Private Sub Command1_Click()
If Not CheckStr(4, 16, Text1.Text) Then Exit Sub
If Not CheckStr(6, 16, Text2.Text, False) Then Exit Sub
End Sub

'参数minL 最小长度,maxL最大长度,p 要检查的字符串
Private Function CheckStr(minL As Integer, maxL As Integer, p As String, _
Optional cL As Boolean = True) As Boolean
Dim L As Integer, I As Integer
Dim T As String

L = Len(p)
If L < minL Or L > maxL Then
MsgBox "长度只能是" & minl & "~" & maxl & "位"
Exit Function
End If
If cL Then
T = Left(p, 1)
If T = "-" Or T = "_" Then
MsgBox "首字符必须是字母或数字"
Exit Function
End If
End If
For I = 1 To L
If InStr(pS, UCase(Mid(p, I, 1))) = 0 Then
MsgBox "有非法字符"
Exit Function
End If
Next I
CheckStr = True
End Function

Private Sub Form_Load()
For I = 0 To 9
pS = pS & I
Next I
For I = 65 To 90
pS = pS & Chr(I)
Next I
pS = pS & "-" & "_"
End Sub追问

怎么判断条件能否全部通过?然后按确定显示“申请成功!”应该怎样加进去?还有分不清到底是用户名长度不合还是密码长度不合?

追答

if text1="奥巴马" and text2="XXXXXXX" then msgbox "成功"

通用检查函数,同时适合用户名和密码

温馨提示:内容为网友见解,仅供参考
无其他回答

vb问题求解,急啊!!s=0;t=0;u=0
当i=1的时候,j只循环1次,j取1,所以k循环3次 ;当i=2的时候 j循环两次 分别取1和2,所以k做了2次循环分别循环3次和2次;当i=3的时候,j分别取过1,2和3;所以k做了3次循环,分别是3次,2次和1次,每次循环s增加1。共循环了 3+(3+2)+(3+2+1)=14 次)所以s=14 算法二:(...

MD5 那位大侠可以帮忙一下啊!!
我不是数的,三个密码,看着长度不一,随便写个VB程序,用len判断一下就知道是40位了...单位去数会花眼的

vb 实时错误91 对象变量或with块变量未设置
With Adodc2.Recordset .MoveFirst 是让adodc2上的记录移动到第一条去,可能跟记录个数有关系!一般情况下,为了后续算法的正确性,都要移动到第一条去,可是有时候,记录为空,或者别的原因就会导致这句报错!解决办法,就是你添加一写记录!

新装Win7系统开启后出现用户名和密码,Administrastor被停用,需向系统管...
利用系统盘,进入系统界面 ,里面有个删除密码的选项,然后按着步骤做一般就可以解决,很容易上手

什么杀毒软件最好?
第十三名:扫描最快的熊猫卫士(启动很慢,不推介)1.ZoneAlarm(ZA)推荐指数★★★ 这是Zone Labs公司推出的一款防火墙和安全防护软件套装,除了防火墙外,它包括有一些个人隐私保护工具以及弹出广告屏蔽工具。与以前的 版本相比,新产品现在能够支持专家级的规则制定,它能够让高级用户全面控制网络访问权限,同时还具有一个发送...

相似回答