经典ASP随机字母

时间:2011-04-21 21:55:25

标签: random asp-classic

我想知道是否有办法随机收到一封信(来自A-Z)

感谢您的帮助。

6 个答案:

答案 0 :(得分:5)

我认为这就是你要找的东西。 Generate a Random Letter in ASP

Function RandomNumber(LowNumber, HighNumber)
    RANDOMIZE
    RandomNumber = Round((HighNumber - LowNumber + 1) * Rnd + LowNumber)
End Function
  

将函数分配给变量并传入LowNumber(26)和   HighNumber(97)并将返回的值转换为字符   表示:

RandomLetter = CHR(RandomNumber(97,122))

您希望大写字母的范围在65到90之间(A和Z)。

答案 1 :(得分:3)

这是另一种不使用if / switch来查看它的方法。

String alphabet = "abcdefghijklmnopqrstuvwxyz";
Random rand = new Random();
char randomCharacter = alphabet[rand.Next(0, 25)];

答案 2 :(得分:2)

使用随机数......就像这样:

Function RandomNumber(LowNumber, HighNumber)
     RANDOMIZE
     RandomNumber = Round((HighNumber - LowNumber + 1) * Rnd + LowNumber) 
End Function

然后从1-26使用它,使用“if”或switch,来获取信件。

答案 3 :(得分:1)

我找到了一个解决方案,您可以轻松控制生成器的有效值。

Function CreateRandomString(iSize)
    Const VALID_TEXT = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
    Dim sNewSearchTag
    Dim I

    For I = 0 To iSize
        Randomize
        sNewSearchTag = sNewSearchTag & Mid(VALID_TEXT,Round(Rnd * Len(VALID_TEXT)),1)
    Next

    CreateRandomString = sNewSearchTag
End Function

答案 4 :(得分:1)

Rogerio的答案很好,但Round(Rnd * Len(VALID_TEXT))可以为0而Mid不能从0开始。如果你想使用这个函数,请修复它。

答案 5 :(得分:1)

Roger Baretto的回答以Cem的提示为准))

Function RandomString(iSize)
    Const VALID_TEXT = "abcdefghijklmnopqrstuvwxyz1234567890"
    Dim Length, sNewSearchTag, I

    Length = Len(VALID_TEXT)

    For I = 1 To iSize
        Randomize()
        sNewSearchTag = sNewSearchTag & Mid(VALID_TEXT, Int(Rnd()*Length + 1), 1)
    Next

    RandomString = sNewSearchTag
End Function