求vb穷举代码
求VB穷举代码,由6-16个字符组成,不能是9位以下纯数字,字符包括a-z、A-Z、0-1、非字母数字字符(符号),好的另加分!我要的是代码!你这是随机生成的字符串,我是...
求VB穷举代码,由6-16个字符组成,不能是9位以下纯数字,字符包括a-z、A-Z、0-1、非字母数字字符(符号),好的另加分!
我要的是代码!你这是随机生成的字符串,我是穷举啊!如果是不要非字母数字字符(符号)呢?怎样改? 展开
我要的是代码!你这是随机生成的字符串,我是穷举啊!如果是不要非字母数字字符(符号)呢?怎样改? 展开
2个回答
展开全部
请首先引用 Microsoft VBScript Regular Expressions 5.5 对象,用于正则表达式判断
Option Explicit
Sub Main()
Dim bytLen As Byte
Dim strPwd As String
Dim i As Byte
Randomize
Do '开始穷举
bytLen = Int(Rnd * 11) + 6 '生成6-16位的随机长度
strPwd = "" '清空密码
For i = 1 To bytLen '生成字符
strPwd = strPwd & Chr(Int(Rnd * 95) + 32) '随机生成32-126的所有可见字符
Next
If TestRegExp(strPwd) Then Debug.Print strPwd '用正则表达式判断密码是否符合要求,怎么处理这些密码没作处理,仅演示用
DoEvents '防止程序停止响应
Loop
End Sub
Function TestRegExp(strString As String) As Boolean
Dim objRegExp As RegExp
Set objRegExp = New RegExp
With objRegExp
.IgnoreCase = True
.Global = True
.Pattern = "\d{0,8}" '9位以下纯数字
End With
If Not objRegExp.Test(strString) Then
TestRegExp = False
Exit Function
End If
objRegExp.Pattern = "[a-zA-Z0-1\W]{6,16}" 'a-z、A-Z、0-1、非字母数字字符(符号)
' objRegExp.Pattern = "[a-zA-Z0-1]{6,16}" 'a-z、A-Z、0-1
' objRegExp.Pattern = "[a-zA-Z]{6,16}" 'a-z、A-Z
TestRegExp = objRegExp.Test(strString)
End Function
Option Explicit
Sub Main()
Dim bytLen As Byte
Dim strPwd As String
Dim i As Byte
Randomize
Do '开始穷举
bytLen = Int(Rnd * 11) + 6 '生成6-16位的随机长度
strPwd = "" '清空密码
For i = 1 To bytLen '生成字符
strPwd = strPwd & Chr(Int(Rnd * 95) + 32) '随机生成32-126的所有可见字符
Next
If TestRegExp(strPwd) Then Debug.Print strPwd '用正则表达式判断密码是否符合要求,怎么处理这些密码没作处理,仅演示用
DoEvents '防止程序停止响应
Loop
End Sub
Function TestRegExp(strString As String) As Boolean
Dim objRegExp As RegExp
Set objRegExp = New RegExp
With objRegExp
.IgnoreCase = True
.Global = True
.Pattern = "\d{0,8}" '9位以下纯数字
End With
If Not objRegExp.Test(strString) Then
TestRegExp = False
Exit Function
End If
objRegExp.Pattern = "[a-zA-Z0-1\W]{6,16}" 'a-z、A-Z、0-1、非字母数字字符(符号)
' objRegExp.Pattern = "[a-zA-Z0-1]{6,16}" 'a-z、A-Z、0-1
' objRegExp.Pattern = "[a-zA-Z]{6,16}" 'a-z、A-Z
TestRegExp = objRegExp.Test(strString)
End Function
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询