//ASP .NET使用者登入介面經常用到驗證碼代碼如下
private void Page_Load(object sender, System.EventArgs e)
{
// 在此處放置使用者代碼以初始化頁面
Label4.Text=RandomNum(4);
}
public string RandomNum(int n) //
{
string strchar = "0,1,2,3,4,5,6,7,8,9" ;
string[] VcArray = strchar.Split(',') ;
string VNum = "" ;
//由於字串很短,就不用StringBuilder了
int temp = -1 ;
//記錄上次隨機數值,盡量避免產生幾個一樣的隨機數
//採用一個簡單的演算法以保證產生隨機數的不同
Random rand =new Random();
for ( int i = 1 ; i < n+1 ; i++ )
{
if ( temp != -1)
{
rand =new Random(i*temp*unchecked((int)
DateTime.Now.Ticks));
}
//int t = rand.Next(35) ;
int t=rand.Next(10);
if (temp != -1 && temp == t)
{
return RndNum( n);
}
temp = t ;
VNum += VcArray[t];
}
return VNum ;//返回產生的隨機數
}
// ''函數名稱:RndNum
// ''函數參數:VCodeNum--設定返回隨機字串的位元
// ''函數功能:產生數字和字元混合的隨機字串
private string RndNum(int VcodeNum)
{
string Vchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z" ;
string[] VcArray = Vchar.Split(",".ToCharArray()); //將字串產生數組
string VNum = "";
int i;
for(i=1;i<VcodeNum;i++)
{
System.Random ro = new Random();
double decA = ro.NextDouble();
VNum = VNum + VcArray[Convert.ToInt32(35*decA)];
}
// For i=1 to VcodeNum
// Randomize
// VNum=VNum & VcArray(Int(35*Rnd)) ''數組一般從0開始讀取,所以這裡為35*Rnd
// Next
return VNum;
}
//ASP .NET登入介面使用者驗證碼代碼,網路上搜集整理測試
//http://www.weste.net/2006/2-24/14492415770.html
//http://www.webdn.com/web_file/program/asp.net/0602080581/