我们在使用VB.NET这样一款开发语言进行编程的时候,需要认清其中的特性,才能真正完善我们的程序开发。下面就先一起了解一下VB.NET中文验证码的获取首先要修改一下配置,C#中又checked和unchedked检查整数溢出处理。#t#

但是VB.NET中没办法,溢出即报错,***处理方法是
VB.net菜单:项目 --> XXX 属性... --> 配置 --> 优化 --> 选中“移除整数溢出检查”复选框
下面来仔细研究一下VB.NET中文验证码的相关代码编写:
- Function RndStr()Function 
 RndStr() As String  
- Dim gb As SystemSystem.Text.
 Encoding = System.Text.Encoding.
 GetEncoding("gb2312")  
- Dim bytes As Object() = 
 CreateRegionCode(4)  
- Dim str1 As String = gb.GetString
 (DirectCast(Convert.ChangeType
 (bytes(0), GetType(Byte())), Byte()))  
- Dim str2 As String = gb.GetString
 (DirectCast(Convert.ChangeType
 (bytes(1), GetType(Byte())), Byte()))  
- Dim str3 As String = gb.GetString
 (DirectCast(Convert.ChangeType
 (bytes(2), GetType(Byte())), Byte()))  
- Dim str4 As String = gb.GetString
 (DirectCast(Convert.ChangeType
 (bytes(3), GetType(Byte())), Byte()))  
- Dim txt As String = (str1 & 
 str2 & str3 & str4)  
- End Function 
 
- Function CreateRegionCode()Function 
 CreateRegionCode(ByVal strlength 
 As Integer) As Object()  
- Dim rBase As String() = New String() 
 {"0", "1", "2", "3", "4", "5", 
 "6", "7", "8", "9", "a", "b", 
 "c", "d", "e", "f"}  
- Dim rnd As New Random 
 
- Dim bytes As Object() = New 
 Object(strlength - 1) {}  
- Dim i As Integer = 0
 
- Do While (i < strlength) 
 
- Dim r2 As Integer 
 
- Dim r4 As Integer 
 
- Dim r1 As Integer = rnd.Next(11, 14) 
 
- Dim str_r1 As String = rBase(r1).Trim 
 
- rnd = New Random(r1 * DateTime.
 Now.Ticks + i)  
- If (r1 = 13) Then 
 
- r2 = rnd.Next(0, 7) 
 
- Else 
 
- r2 = rnd.Next(0, &H10) 
 
- End If 
 
- Dim str_r2 As String = rBase(r2).Trim 
 
- Dim r3 As Integer = New Random(
 (r2 * DateTime.Now.Ticks) + i).
 Next(10, &H10)  
- Dim str_r3 As String = rBase(r3).Trim 
 
- rnd = New Random((r3 * DateTime.
 Now.Ticks) + i)  
- Select Case r3 
 
- Case 10 
 
- r4 = rnd.Next(1, &H10) 
 
- Exit Select 
 
- Case 15 
 
- r4 = rnd.Next(0, 15) 
 
- Exit Select 
 
- Case Else 
 
- r4 = rnd.Next(0, &H10) 
 
- Exit Select 
 
- End Select 
 
- Dim str_r4 As String = rBase(r4).Trim 
 
- Dim byte1 As Byte = Convert.
 ToByte((str_r1 & str_r2), &H10)  
- Dim byte2 As Byte = Convert.
 ToByte((str_r3 & str_r4), &H10)  
- Dim str_r As Byte() = New Byte() 
 {byte1, byte2}  
- bytes.SetValue(str_r, i) 
 
- i += 1 
 
- Loop 
 
- Return bytes 
 
- End Function
 
VB.NET中文验证码相关实现方法就为大家介绍到这里。
            
            分享文章:VB.NET中文验证码如何获取            
            当前URL:
http://zsjierui.cn/article/codjjdh.html