我有一个问题,用VB.Net生成任何字符,我有PHP版本的代码。如何在VB.Net中创建它?
这是我的PHP代码:
function randomcodeAlpha($len="4") {
$code = NULL;
for($i=0;$i<$len;$i++) {
$char = chr(rand(48,122));
while(!ereg("[A-Z]", $char)) {
if($char == $lchar) { continue; }
$char = chr(rand(48,90));
}
$pass .= $char;
$lchar = $char;
}
return $pass;
}
function randomcodeNumeric($len="2") {
$code = NULL;
for($i=0;$i<$len;$i++) {
$char = chr(rand(48,122));
while(!ereg("[0-9]", $char)) {
if($char == $lchar) { continue; }
$char = chr(rand(48,90));
}
$pass .= $char;
$lchar = $char;
}
return $pass;
}
答案 0 :(得分:2)
这应该这样做:
Private Sub Main()
Dim str As string = RandomString(4, _chars)
Dim num As string = RandomString(2, _nums)
End Sub
Private Const _chars As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Private Const _nums As String = "0123456789"
private shared readonly _randLock = new Object()
private shared readonly _rnd = New Random()
Private Shared Function RandomString(size As Integer, chars As String) As String
Dim arr = New Char(size - 1) {}
For i As Integer = 0 To size - 1
SyncLock _randLock
arr(i) = chars(_rnd.Next(chars.Length))
End SyncLock
Next
Return New String(arr)
End Function