VB.NET生成随机串或随机数字的方法总结

本文一共介绍了5种生成随机数方式,具体如下:

第一种:转载的方法

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,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

第二种:网上查找

Public Function GetOAuthNonce() As String ' 得到随机值
    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

第三种:原来是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)

原文链接:http://blog.csdn.net/lcp58006478/article/details/8958460

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • ASP中一个用VBScript写的随机数类

    外国人写的一个class,这么一点小小的应用,除非有特殊需求,还没有必要模块化. 用asp产生一个随机数. <%  ''**************************************************************************  '' CLASS: cRandom  '' Calls randomize to seed the random number generator.  '' Provides functions for returning ra

  • 用vbs产生的若干个随机数并写入到一个.txt中的代码

    复制代码 代码如下: Set a=WScript.CreateObject("WScript.Shell") a.Run "notepad" '打开记事本 do Randomize x= Int((40 * Rnd) + 1) '产生一个1~40的随机数赋给X WScript.Sleep 1000 a.SendKeys x&"," '模拟键盘,输出x n=n+1 '累计器 if n=10 then wscript.quit '若累计器N为

  • 用vbs实现随机读取文件的一行内容的脚本

    复制代码 代码如下: randomize  set fso=createobject("scripting.filesystemobject")  set a=createobject("scripting.dictionary")  set file=fso.opentextfile("a.txt")  do while file.atendofstream<>true  m=m+1  a.add m,file.readline 

  • javascript 随机数 与高级应用 附vbscript(asp) 随机数总结

    一.是javascript 随机数函数Math.random()  生成指定范围的随机数 Math.random()方法没有参数,返回0~1之间的随机数,如果要生成0~n之间的随机 数,可以使用下面的格式: Math.floor(Math.random()*n) 若要生成m~n之间的随机数,可以用: Math.floor(Math.random()*n)+m 下面是运用: ") //生成1~10之间的随机数目 var j = Math.floor(Math.random()*10)+1; doc

  • 用vbs遍历文件并随机显示的脚本

    set ws=createobject("wscript.shell") set fso=createobject("scripting.filesystemobject") set folder=fso.getfolder(ws.currentdirectory) set files=folder.files for each file in files d=d & file.name & "," next Randomize

  • VBS 生成不重复随机数代码[0-10]

    复制代码 代码如下: dim Z(10),i for i=0 to 10 Z(I)=GetRnd(i-1) WScript.Echo (Z(i)) NEXT Function GetRnd(n) Dim i,X Randomize X=CInt(10*Rnd() ) For i=0 To n If X=Z(i) Then X=GetRnd(n) Exit For End If Next GetRnd=X End Function

  • VB.NET生成随机串或随机数字的方法总结

    本文一共介绍了5种生成随机数方式,具体如下: 第一种:转载的方法 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

  • Python随机生成手机号、数字的方法详解

    本文实例讲述了Python随机生成手机号.数字的方法.分享给大家供大家参考,具体如下: Python随机产生手机号.数字.代码如下: # -*- coding:gbk -*- import random #随机产生26个手机号:以13开头,后面跟一位4~9之间的任意一位数字,后面是8位随机数字 for _ in range(26): print('13' + str(random.randrange(4,10))+ ''.join( str(random.choice(range(10))) f

  • Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例

    上代码: 环境:Python3 import random,string s=string.ascii_letters+string.digits print(s) n={''.join(random.choices(s,k=8)) for I in range(60000)} print(len(n)) with open('a.csv','w') as f: for i in n: f.write(i+'\n') 运行代码,生成a.csv文件并保存. n的类型为set集合类型,实现自动去重.

  • Java 中实现随机无重复数字的方法

    一般有点开发经验的朋友都能实现这样的功能,只不过是效率上的问题.我们一般在面对这样的问题时,总会平铺直序的联想到,先生成一个数组,然后在一个循环中向数组中添加随机数字,在添加数字的过程中先查找一下数组中是否存在这个数字,如果不存在这个数字就直接添加到数组中:如果存在这个数字就不添 加.我们一般都是这样考虑问题的,这样考虑也能实现功能,我刚才也说了,只不过是效率上的问题. 为了更好地理解这个题意,我们先来看下具体内容:生成一个1-100 的随机数组,但数组中的数字不能重复,即位置是随机的,但数组元

  • Python实现随机生成手机号及正则验证手机号的方法

    本文实例讲述了Python实现随机生成手机号及正则验证手机号的方法.分享给大家供大家参考,具体如下: 依据 根据2017年10月份最新的手机号正则进行编码, 正则如下: (13\d|14[579]|15[^4\D]|17[^49\D]|18\d)\d{8} 代码 # -*- coding: utf-8 -*- import random def create_phone(): # 第二位数字 second = [3, 4, 5, 7, 8][random.randint(0, 4)] # 第三位

  • Go实现快速生成固定长度的随机字符串

    目录 前言 Improvements 1. Genesis (Runes) 2. Bytes 3. Remainder 4. Masking 5. Masking Improved 6. Source 7. Utilizing strings.Builder 8. "Mimicing" strings.Builder with package unsafe Benchmark Q:怎样在Go语言中简单并快速地生成固定长度的随机字符串? A: 问题是“最快和最简单的方式”,接下来我们会一

  • 生成0-99之间的随机数列

    复制代码 代码如下: :: 生成0-99之间的随机数列 R1 :: :: :: @echo off setlocal EnableDelayedExpansion :: 初始化顺序数列 for /l %%i in (0,1,99) do ( set rnum%%i=%%i ) :: 对数列进行随机交换 for /l %%i in (0,1,99) do ( set /a rnd=!random! %% 100 call set tmp=%%rnum!rnd!%% set rnum!rnd!=!r

  • JS生成不重复的随机数组的简单实例

    JS生成不重复的随机数组的简单实例 //获取数组中的随机数 //HF.Math.RandomNumbers是前缀,可以自己定义,主要看逻辑代码 HF.Math.RandomNumbers = function (startNum, endNum, count, repeat) { var ret = []; if (repeat) { for (var i = 0; i < count; i++) { ret[i] = HF.Math.Random(startNum, endNum); } re

  • java随机生成一个名字和对应拼音的方法

    本文实例讲述了java随机生成一个名字和对应拼音的方法.分享给大家供大家参考.具体如下: package com.cn.wangk.util.name; import java.util.Random; import com.cn.wangk.util.StrTools; public class ChineseName { String[] sName = new String[95]; String[] Name = new String[79]; private String Names;

  • 用php随机生成福彩双色球号码的2种方法

    不瞒您说,俺也是个双色球爱好者,经常买,但迟迟没有中过一等奖,哈哈.这里为大家介绍用php随机生成福彩双色球号码的二种方法,供朋友们学习参考.新的一年,祝大家中大奖,发大财. 方法一 复制代码 代码如下: <?php/*随机生成福彩双色球号码*/$red = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33);$blue = array(1,2,3,4,5

随机推荐