以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 密码复杂性验证  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79534)

--  作者:wumingrong1
--  发布时间:2016/1/4 14:45:00
--  [求助] 密码复杂性验证
我有一个“TextBox”控件、该控件为录入密码控件;我希望在离开该控件后、如果在该控件中录入的内容没有包括 数字、大小写字母、并且位长没有达到8位;那么弹出提示。

我在该控件的Leave中应该写什么样的命令?

--  作者:大红袍
--  发布时间:2016/1/4 14:53:00
--  

比如代码

 

Dim str As String = "23434343434"
Dim reg = new System.Text.RegularExpressions.Regex("[a-zA-Z]+")
If reg.Ismatch(str) = False Then
    msgbox("必须有字母")
Else
    reg = new System.Text.RegularExpressions.Regex("[0-9]+")
    If reg.Ismatch(str) = False Then
        msgbox("必须有数字")
    Else
        If str.Length < 8 Then
            msgbox("必须大于8位")
        Else
            msgbox("符合")
        End If
    End If
End If


--  作者:wumingrong1
--  发布时间:2016/1/4 15:25:00
--  
写了如下命令,没有成功;红色部分该怎么修改?
If e.Form.Controls("Password1").Text = "" Then
e.Form.Controls("新密码").Text = "请输入新密码"
Else
If e.Form.Controls("Password1").Text = e.Form.Controls("Password").Text  Then
e.Form.Controls("新密码").Text = "新旧密码不可相同"
Else

Dim str As String = "23434343434"
Dim reg = new System.Text.RegularExpressions.Regex("[a-zA-Z0-9]+")
If reg.Ismatch(str) = False OrElse str.Length < 8   Then
    e.Form.Controls("新密码").Text = "新密码复杂性不够"

        Else
            e.Form.Controls("新密码").Text = "√"
        End If


End If
End If

--  作者:大红袍
--  发布时间:2016/1/4 15:27:00
--  
Dim str As String = e.Form.Controls("Password").Text
--  作者:wumingrong1
--  发布时间:2016/1/4 15:38:00
--  
还是不行

If e.Form.Controls("Password1").Text = "" Then
e.Form.Controls("新密码").Text = "请输入新密码"
Else
If e.Form.Controls("Password1").Text = e.Form.Controls("Password").Text  Then
e.Form.Controls("新密码").Text = "新旧密码不可相同"
Else

Dim str As String = e.Form.Controls("Password1").Text
Dim reg = new System.Text.RegularExpressions.Regex("[a-zA-Z0-9]+")
If reg.Ismatch(str) = False OrElse str.Length < 8   Then
    e.Form.Controls("新密码").Text = "新密码复杂性不够"

        Else
            e.Form.Controls("新密码").Text = "√"
        End If


End If
End If

--  作者:大红袍
--  发布时间:2016/1/4 15:43:00
--  
Dim reg1 = new System.Text.RegularExpressions.Regex("[a-zA-Z]+")
Dim reg2 = new System.Text.RegularExpressions.Regex("[0-9]+")
If reg1.Ismatch(str) = False OrElse reg2.Ismatch(str) = False OrElse str.Length < 8  Then

--  作者:wumingrong1
--  发布时间:2016/1/4 16:09:00
--  
如果我想在打开修改密码窗口的AfterLoad写入命令,让【全局代码】中的  Public _userPassword As String 重新读取当前登陆用户的密码;我的命令该怎么写?
--  作者:大红袍
--  发布时间:2016/1/4 16:11:00
--  
你在登陆的时候,就要给 _userPassword 赋值啊
--  作者:wumingrong1
--  发布时间:2016/1/4 16:15:00
--  
登陆的时候已经赋了值、就是当我登陆系统后完成密码修改,当再次打开修改密码窗口在旧密码中输入修改后的密码会提示错误、而输入未修改前的密码就正确;
说明当我修改密码后、_userPassword并没有将密码修改为修改后的密码。
所以我想实现当完成密码修改后、_userPassword的赋值也能修改成新密码
[此贴子已经被作者于2016/1/4 16:16:08编辑过]

--  作者:大红袍
--  发布时间:2016/1/4 16:21:00
--  

修改密码确定的时候,赋值不就行了。