Vb. NET generating random string or random number method summary
Source: Internet
Author: User
This article introduces a total of 5 ways to generate random numbers, as follows:
The first method: reprint
Public Enum stringtype
allstring = 1 'Capital letters
allnumic = 2 'number
str_num = 3 'Capital letters + numbers
str_upper = 4 'Capital letters
str_lower = 5 'Capital letters
End Enum
Function GenerateRandom (ByVal Length As Integer, ByVal s As stringtype) As String
Dim strtemp As String = ""
Dim constant () As String = Nothing
Select Case s
Case stringtype.allnumic
strtemp = "0,1,2,3,4,5,6,7,8,9"
constant = strtemp.Split (",")
Case stringtype.allstring
strtemp = "a, b, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r, s, t, u, v, w, x, y , z, A, B, C, D, E, F, D, G, H, I, J, K, L, M, N, P, Q, R, S, T, U, V, W, X , X, Y, Z "
constant = strtemp.Split (",")
Case stringtype.str_lower
strtemp = "a, b, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r, s, t, u, v, w, x, y ,z"
constant = strtemp.Split (",")
Case stringtype.str_num
strtemp = "a, b, c, d, e, f, g, h, i, j, k, m, n, o, p, q, r, s, t, u, v, w, x, y , z, A, B, C, D, E, F, D, G, H, I, J, K, L, M, N, P, Q, R, S, T, U, V, W, X , X, Y, Z, 0,1,2,3,4,5,6,7,8,9 "
constant = strtemp.Split (",")
Case stringtype.str_upper
strtemp = "A, B, C, E, F, D, G, H, I, J, K, L, M, N, P, Q, R, S, T, U, V, W, X, Y ,Z"
constant = strtemp.Split (",")
End Select
Dim NewRandom As System.Text.StringBuilder = New System.Text.StringBuilder (Length)
Dim rd As Random = New Random ()
Dim i As Integer
For i = 0 To Length-1 Step i + 1
NewRandom.Append (constant (rd.Next (constant.Length-1)))
Next
Return NewRandom.ToString ()
End Function
The second kind: online search
Public Function GetOAuthNonce () As String 'Get random value
Dim result As String = System.Guid.NewGuid (). ToString ()
result = result.Replace ("-", "")
Return result.Substring (0, 10)
End Function
Public Function RandCode (ByVal n As Integer) As String
Dim arrChar As Char () = New Char () {"a" c, "b" c, "d" c, "c" c, "e" c, "f" c, _
"g" c, "h" c, "i" c, "j" c, "k" c, "l" c, _
"m" c, "n" c, "p" c, "r" c, "q" c, "s" c, _
"t" c, "u" c, "v" c, "w" c, "z" c, "y" c, _
"x" c, "0" c, "1" c, "2" c, "3" c, "4" c, _
"5" c, "6" c, "7" c, "8" c, "9" c, "A" c, _
"B" c, "C" c, "D" c, "E" c, "F" c, "G" c, _
"H" c, "I" c, "J" c, "K" c, "L" c, "M" c, _
"N" c, "Q" c, "P" c, "R" c, "T" c, "S" c, _
"V" c, "U" c, "W" c, "X" c, "Y" c, "Z" c}
Dim num As New StringBuilder ()
Dim rnd As New Random (DateTime.Now.Millisecond)
For i As Integer = 0 To n-1
num.Append (arrChar (rnd. [Next] (0, arrChar.Length)). ToString ())
Next
Return num.ToString ()
End Function
The third kind: it turns out to be C # conversion
Public Function RandCode (ByVal n As Integer) As String
Dim arrChar As Char () = New Char () {"a" c, "b" c, "d" c, "c" c, "e" c, "f" c, _
"g" c, "h" c, "i" c, "j" c, "k" c, "l" c, _
"m" c, "n" c, "p" c, "r" c, "q" c, "s" c, _
"t" c, "u" c, "v" c, "w" c, "z" c, "y" c, _
"x" c, "0" c, "1" c, "2" c, "3" c, "4" c, _
"5" c, "6" c, "7" c, "8" c, "9" c, "A" c, _
"B" c, "C" c, "D" c, "E" c, "F" c, "G" c, _
"H" c, "I" c, "J" c, "K" c, "L" c, "M" c, _
"N" c, "Q" c, "P" c, "R" c, "T" c, "S" c, _
"V" c, "U" c, "W" c, "X" c, "Y" c, "Z" c}
Dim num As New StringBuilder ()
Dim rnd As New Random (DateTime.Now.Millisecond)
For i As Integer = 0 To n-1
num.Append (arrChar (rnd. [Next] (0, arrChar.Length)). ToString ())
Next
Return num.ToString ()
End Function
The fourth: use VB6 conversion
Function makeRand (ByVal maxLen As Integer) As String 'Use random string when generating signature
Dim strNewPass As String = vbNullString
Dim lower As Long
Dim whatsNext As Long
Dim upper As Long
Dim intCounter As Long
Randomize ()
For intCounter = 1 To maxLen
whatsNext = Int ((1-0 + 1) * Rnd () + 0)
If whatsNext = 0 Then
upper = 122
lower = 100
Else
upper = 57
lower = 48
End If
strNewPass = strNewPass & Chr (Int ((upper-lower + 1) * Rnd () + lower))
Next
makeRand = strNewPass
End Function
Fifth: use VB.NET function directly
Dim rand As Random = New System. Random (10) ‘here 10 means 10 is
Debug.Print (rand.Next (). ToString)
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.