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)

Related Article

Contact Us

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.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.