在VB.Net中,如何在按钮单击事件的文本框中生成7位随机数和特殊字符串?
发布于 2010-12-01 14:39:24
将您想要的字符放入字符串中,然后从中选取:
Dim chars As String = "0123456789abcdefghijklmnopqrstuvwxyz!#%&()?+-;:"
Dim word As Char() = New Char(6)
Dim rnd As New Random()
For i As Integer = 0 To word.Length - 1
word(i) = chars.Chars(rnd.Next(chars.Length))
Next
TheTextBox.Text = New String(word)发布于 2014-10-02 11:00:18
下面是我使用的一个轻量级版本:
Protected Function GetRandomPass() As String
Dim pass As String = String.Empty
Dim AllowedChars() As String = {"ABCDEFGHJKLMNPQRSTWXYZ", "abcdefghjklmnpqrstwxyz", "0123456789"}
Dim rnd = New Random()
While pass.Length < 10
Dim rndSet As Integer = rnd.Next(0, AllowedChars.Length)
pass &= AllowedChars(rndSet).Substring(rnd.Next(0, AllowedChars(rndSet).Length), 1)
End While
Return pass
End Function它选择AllowedChars()数组的随机索引,然后使用substring属性在该索引中选择一个随机字符,并将其附加到pass字符串,当字符串达到定义的长度时,它将返回随机生成的密码。
这样,您可以将字符类型分开,还可以向AllowedChars()数组添加更多项,而无需编辑函数的其余部分
我知道你可以用一个普通的字符串来做这件事,并从中得到一个随机的数字,但我更喜欢看到大写、小写和substring /($pec|@|_)字符之间的区别。
https://stackoverflow.com/questions/4321686
复制相似问题