私はこれを C# で行うことができましたが、Javascript に変換することはできません。この投稿「Generate random password string with requirements in javascript」を見つけましたが、これを自分の要件に合わせてカスタマイズすることはできません。
パスワードは、長さが 8 文字以上、最大 13 文字である必要があり、次の文字列コレクションのそれぞれから少なくとも 1 文字を含める必要があります。
string specialCharacters = "~!@#$%^&*()_+=-|\\}]{[\"':;?/>.<,";
string numbers = "0123456789";
string smallLetters = "abcdefghijklmnopqrstuvwxyz";
string capitalLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
助けていただけますか?どうもありがとう!
編集:
C# での私のコードは次のとおりです。申し訳ありませんが、少し長くなります:
private string CreateRandomPassword(int passwordLength)
{
string specialCharacters = "~!@#$%^&*()_+=-|\\}]{[\"':;?/>.<,";
string numbers = "0123456789";
string smallLetters = "abcdefghijklmnopqrstuvwxyz";
string capitalLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string allowedChars = "";
char[] chars = new char[passwordLength];
string password = String.Empty;
Random rd = new Random();
int ctr = 0;
int prop = 4;
if(!_password.ContainsSpecialCharacters && !_password.ContainsNumbers && !_password.ContainsSmallLetters && !_password.ContainsCapitalLetters)
return String.Empty;
string sc = "";
string num = "";
string sl = "";
string cl = "";
if(_password.ContainsSpecialCharacters)
{
// Get a special character randomly
rd = new Random();
sc = specialCharacters[rd.Next(0, specialCharacters.Length)].ToString();
allowedChars += specialCharacters;
}
else
{
prop--;
}
if(_password.ContainsNumbers)
{
// Get a random number randomly
rd = new Random();
num = numbers[rd.Next(0, numbers.Length)].ToString();
allowedChars += numbers;
}
else
{
prop--;
}
if(_password.ContainsSmallLetters)
{
// Get a small letter randomly
rd = new Random();
sl = smallLetters[rd.Next(0, smallLetters.Length)].ToString();
allowedChars += smallLetters;
}
else
{
prop--;
}
if(_password.ContainsCapitalLetters)
{
// Get a capital letter randomly
rd = new Random();
cl = capitalLetters[rd.Next(0, capitalLetters.Length)].ToString();
allowedChars += capitalLetters;
}
else
{
prop--;
}
for (; ctr < passwordLength - prop; ctr++)
password += allowedChars[rd.Next(0, allowedChars.Length)];
return password + sc + num + sl + cl;
}