• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#生成随机字符串(数字,字母,特殊符号)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Threading.Tasks;
  6 
  7 namespace ConsoleApplication1
  8 {
  9     class Program
 10     {
 11         static void Main(string[] args)
 12         {
 13             //int number;
 14             //int count = 7;
 15             //string checkCode = String.Empty;     //存放随机码的字符串   
 16 
 17             //System.Random random = new Random();
 18 
 19             //for (int i = 0; i < count; i++) //产生7位校验码   
 20             //{
 21             //    number = random.Next();
 22             //    number = number % 36;
 23             //    if (number < 10)
 24             //    {
 25             //        number += 48;    //数字0-9编码在48-57   
 26             //    }
 27             //    else
 28             //    {
 29             //        number += 55;    //字母A-Z编码在65-90   
 30             //    }
 31 
 32             //    checkCode += ((char)number).ToString();
 33             //}
 34             //Console.WriteLine(checkCode);
 35             Program p = new Program();
 36             bool booNumber = true;
 37             bool booSign = true;
 38             bool booSmallword = true;
 39             bool booBigword = true;
 40             //p.getRandomizer(7, booNumber, booSign, booSmallword, booBigword);
 41             Console.WriteLine(p.getRandomizer(7, booNumber, booSign, booSmallword, booBigword));
 42             Console.ReadLine();
 43         }
 44         public string getRandomizer(int intLength, bool booNumber, bool booSign, bool booSmallword, bool booBigword)
 45         {
 46             //定义
 47             Random ranA = new Random();
 48             int intResultRound = 0;
 49             int intA = 0;
 50             string strB = "";
 51             while (intResultRound < intLength)
 52             {
 53                 //生成随机数A,表示生成类型
 54                 //1=数字,2=符号,3=小写字母,4=大写字母
 55                 intA = ranA.Next(1, 5);
 56                 //如果随机数A=1,则运行生成数字
 57                 //生成随机数A,范围在0-10
 58                 //把随机数A,转成字符
 59                 //生成完,位数+1,字符串累加,结束本次循环
 60                 if (intA == 1 && booNumber)
 61                 {
 62                     intA = ranA.Next(0, 10);
 63                     strB = intA.ToString() + strB;
 64                     intResultRound = intResultRound + 1;
 65                     continue;
 66                 }
 67                 //如果随机数A=2,则运行生成符号
 68                 //生成随机数A,表示生成值域
 69                 //1:33-47值域,2:58-64值域,3:91-96值域,4:123-126值域
 70                 if (intA == 2 && booSign == true)
 71                 {
 72                     intA = ranA.Next(1, 5);
 73                     //如果A=1
 74                     //生成随机数A,33-47的Ascii码
 75                     //把随机数A,转成字符
 76                     //生成完,位数+1,字符串累加,结束本次循环
 77                     if (intA == 1)
 78                     {
 79                         intA = ranA.Next(33, 48);
 80                         strB = ((char)intA).ToString() + strB;
 81                         intResultRound = intResultRound + 1;
 82                         continue;
 83                     }
 84 
 85                     //如果A=2
 86                     //生成随机数A,58-64的Ascii码
 87                     //把随机数A,转成字符
 88                     //生成完,位数+1,字符串累加,结束本次循环
 89                     if (intA == 2)
 90                     {
 91                         intA = ranA.Next(58, 65);
 92                         strB = ((char)intA).ToString() + strB;
 93                         intResultRound = intResultRound + 1;
 94                         continue;
 95                     }
 96 
 97                     //如果A=3
 98                     //生成随机数A,91-96的Ascii码
 99                     //把随机数A,转成字符
100                     //生成完,位数+1,字符串累加,结束本次循环
101                     if (intA == 3)
102                     {
103                         intA = ranA.Next(91, 97);
104                         strB = ((char)intA).ToString() + strB;
105                         intResultRound = intResultRound + 1;
106                         continue;
107                     }
108 
109                     //如果A=4
110                     //生成随机数A,123-126的Ascii码
111                     //把随机数A,转成字符
112                     //生成完,位数+1,字符串累加,结束本次循环
113                     if (intA == 4)
114                     {
115                         intA = ranA.Next(123, 127);
116                         strB = ((char)intA).ToString() + strB;
117                         intResultRound = intResultRound + 1;
118                         continue;
119                     }
120                 }
121 
122                 //如果随机数A=3,则运行生成小写字母
123                 //生成随机数A,范围在97-122
124                 //把随机数A,转成字符
125                 //生成完,位数+1,字符串累加,结束本次循环
126                 if (intA == 3 && booSmallword == true)
127                 {
128                     intA = ranA.Next(97, 123);
129                     strB = ((char)intA).ToString() + strB;
130                     intResultRound = intResultRound + 1;
131                     continue;
132                 }
133 
134                 //如果随机数A=4,则运行生成大写字母
135                 //生成随机数A,范围在65-90
136                 //把随机数A,转成字符
137                 //生成完,位数+1,字符串累加,结束本次循环
138                 if (intA == 4 && booBigword == true)
139                 {
140                     intA = ranA.Next(65, 89);
141                     strB = ((char)intA).ToString() + strB;
142                     intResultRound = intResultRound + 1;
143                     continue;
144                 }
145             }
146             return strB;
147         }
148     }
149 }
View Code

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中delegate的作用发布时间:2022-07-13
下一篇:
c#后台调用前台js发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap