生成指定长度的随机字符串
类别: ASP教程
\'检测生成字符串的长度
Response.Write(Len(iXuEr_Rnd_Str(100,1,1,1,1,1)) & "<br>")
\'以HTML编码输出到浏览器,避免含有某些特殊字符时不能正常显示
Response.Write(Server.HTMLEncode(iXuEr_Rnd_Str(100,1,1,1,1,1)))
\'实际应用时,可以直接调用iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln)
Function iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln)
\'=========================================================
\' 函数:Rnd_Str
\' 功能:生成指定长度的随机字符串 iXuEr Studio 挑战随机字符串
\' 参数:长度,是否大写字母,是否小写字母,是否数字,是否特殊字符,是否有自定义字符
\' 返回:字符串
\'=========================================================
\'默认拥有15种组合方案,长度任意指定,并且字符串中不允许空格存在
\'如果指定了自定义字符集的话,则可以扩展到多达26种组合方案
\'1)大写字母2)小写字母3)数字4)特殊字符5)大写字母、小写字母6)大写字母、数字
\'7)大写字母、特殊字符8)大写字母、小写字母、数字9)大写字母、小写字母、特殊字符
\'10)大写字母、数字、特殊字符11)大写字母、小写字母、数字、特殊字符
\'12)小写字母、数字13)小写字母、特殊字符14)小写字母、数字、特殊字符15)数字、特殊字符
Dim Seed,SeedAry
Dim Seed_Str,Seed_Str1,Seed_Str2,Seed_Str3,Seed_Str4,Seed_Strn
Dim TempStr
Dim i,m
Seed_Str1 = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
Seed_Str2 = "a b c d e f g h i j k l m n o p q r s t u v w x y z"
Seed_Str3 = "0 1 2 3 4 5 6 7 8 9"
Seed_Str4 = "! "" # $ % & \' ( ) * + , - . / : ; < = > ? @ [ ] ^ _ ` { | } ~"
\'自定义字符集合,注意要在每个自定义字符之间加空格!
Seed_Strn = ""
Seed = ""
If S1 = 1 Then
\'包含大写字母
Seed = Seed & Seed_Str1
End If
If S2 = 1 Then
\'包含小写字母
Seed = Seed & " " & Seed_Str2
End If
If S3 = 1 Then
\'包含数字
Seed = Seed & " " & Seed_Str3
End If
If S4 = 1 Then
\'包含特殊字符
Seed = Seed & " " & Seed_Str4
End If
If Ln = 1 Then
\'包含特殊字符
Seed = Seed & " " & Seed_Strn
End If
If S1 <> 1 And S2 <> 1 And S3 <> 1 And S4 <> 1 And Ln <> 1 Then
\'如果没有指定任何包含内容,则强制全部包含
Seed = Seed & Seed_Str1 & " " & Seed_Str2 & " " & Seed_Str3 & " " & Seed_Str4 & " " & Seed_Strn
End If
\'建立种子数组
SeedAry = Split(Seed," ")
\'获取种子数组长度
m = Ubound(SeedAry)
\'初始化随机字符串
TempStr = ""
Do While Len(TempStr) < Length
Randomize Timer()
TempStr = TempStr & SeedAry(m*Rnd)
Loop
iXuEr_Rnd_Str = TempStr
End Function
Response.Write(Len(iXuEr_Rnd_Str(100,1,1,1,1,1)) & "<br>")
\'以HTML编码输出到浏览器,避免含有某些特殊字符时不能正常显示
Response.Write(Server.HTMLEncode(iXuEr_Rnd_Str(100,1,1,1,1,1)))
\'实际应用时,可以直接调用iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln)
Function iXuEr_Rnd_Str(Length,S1,S2,S3,S4,Ln)
\'=========================================================
\' 函数:Rnd_Str
\' 功能:生成指定长度的随机字符串 iXuEr Studio 挑战随机字符串
\' 参数:长度,是否大写字母,是否小写字母,是否数字,是否特殊字符,是否有自定义字符
\' 返回:字符串
\'=========================================================
\'默认拥有15种组合方案,长度任意指定,并且字符串中不允许空格存在
\'如果指定了自定义字符集的话,则可以扩展到多达26种组合方案
\'1)大写字母2)小写字母3)数字4)特殊字符5)大写字母、小写字母6)大写字母、数字
\'7)大写字母、特殊字符8)大写字母、小写字母、数字9)大写字母、小写字母、特殊字符
\'10)大写字母、数字、特殊字符11)大写字母、小写字母、数字、特殊字符
\'12)小写字母、数字13)小写字母、特殊字符14)小写字母、数字、特殊字符15)数字、特殊字符
Dim Seed,SeedAry
Dim Seed_Str,Seed_Str1,Seed_Str2,Seed_Str3,Seed_Str4,Seed_Strn
Dim TempStr
Dim i,m
Seed_Str1 = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
Seed_Str2 = "a b c d e f g h i j k l m n o p q r s t u v w x y z"
Seed_Str3 = "0 1 2 3 4 5 6 7 8 9"
Seed_Str4 = "! "" # $ % & \' ( ) * + , - . / : ; < = > ? @ [ ] ^ _ ` { | } ~"
\'自定义字符集合,注意要在每个自定义字符之间加空格!
Seed_Strn = ""
Seed = ""
If S1 = 1 Then
\'包含大写字母
Seed = Seed & Seed_Str1
End If
If S2 = 1 Then
\'包含小写字母
Seed = Seed & " " & Seed_Str2
End If
If S3 = 1 Then
\'包含数字
Seed = Seed & " " & Seed_Str3
End If
If S4 = 1 Then
\'包含特殊字符
Seed = Seed & " " & Seed_Str4
End If
If Ln = 1 Then
\'包含特殊字符
Seed = Seed & " " & Seed_Strn
End If
If S1 <> 1 And S2 <> 1 And S3 <> 1 And S4 <> 1 And Ln <> 1 Then
\'如果没有指定任何包含内容,则强制全部包含
Seed = Seed & Seed_Str1 & " " & Seed_Str2 & " " & Seed_Str3 & " " & Seed_Str4 & " " & Seed_Strn
End If
\'建立种子数组
SeedAry = Split(Seed," ")
\'获取种子数组长度
m = Ubound(SeedAry)
\'初始化随机字符串
TempStr = ""
Do While Len(TempStr) < Length
Randomize Timer()
TempStr = TempStr & SeedAry(m*Rnd)
Loop
iXuEr_Rnd_Str = TempStr
End Function
- 上一篇: 在ASP中使用MD5加密
- 下一篇: 分页控制
-= 资 源 教 程 =-
文 章 搜 索