第一种:转载的方法
Public Enum stringtype allstring = 1 '大小写字母 allnumic = 2 '数字 str_num = 3 '大小写字母+数字 str_upper = 4 '大写字母 str_lower = 5 '大写字母 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,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z" constant = strtemp.Split(",") Case stringtype.str_lower strtemp = "a,z" constant = strtemp.Split(",") Case stringtype.str_num strtemp = "a,Z,") Case stringtype.str_upper strtemp = "A,") 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
第二种:网上查找
Public Function GetOAuthNonce() As String ' 得到随机值 Dim result As String = System.Guid.NewGuid().ToString() result = result.Replace("-","") Return result.Substring(0,10) End Function
第三种:原来是C#转换
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
第四种:利用VB6转换
Function makeRand(ByVal maxLen As Integer) As String '生成签名时用随机串 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
第五种:直接用VB.NET函数
Dim rand As Random = New System.Random(10)‘这里10就代表是10为 Debug.Print(rand.Next().ToString) (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|