Versuchen Sie, diese algoritm mit:
Javascript-Code:
https://jsfiddle.net/b8xm4zkg/1/
function validatePassword(password)
{
if(isNaN(password))
return false;
if(password == null || password.length < 7)
return false;
for(var x = 3; x <= password.length; x++)
{
if(password[x] == password[x-1] && password[x] == password[x-2] && password[x] == password[x-3])
return false;
var pNumber = parseInt(password[x]);
if(pNumber + 1 == password[x-1] && pNumber + 2 == password[x-2] && pNumber + 3 == password[x-3])
return false;
if(pNumber - 1 == password[x-1] && pNumber - 2 == password[x-2] && pNumber - 3 == password[x-3])
return false;
}
return true;
}
JS Verbrauch:
if(validatePassword("1233457638789"))
{
//Valid
}
else
{
//Invalid
}
C# Code:
https://dotnetfiddle.net/Mf4aLB
public static bool ValidatePassword(string password)
{
if (string.IsNullOrWhiteSpace(password))
return false;
if(password.Length <= 7)
return false;
string justNumbers = new String(password.Where(Char.IsDigit).ToArray());
if(!justNumbers.Equals(password))
return false;
for(int x = 3; x < password.Length; x++)
{
if(password[x] == password[x-1] && password[x] == password[x-2] && password[x] == password[x-3])
return false;
int pNumber = int.Parse(password[x].ToString());
if ((pNumber + 1).ToString() == password[x-1].ToString() && (pNumber + 2).ToString() == password[x-2].ToString() && (pNumber + 3).ToString() == password[x-3].ToString())
return false;
if ((pNumber - 1).ToString() == password[x-1].ToString() && (pNumber - 2).ToString() == password[x-2].ToString() && (pNumber - 3).ToString() == password[x-3].ToString())
return false;
}
return true;
}
C# Verbrauch:
if(ValidatePassword("1233457638789"))
{
//Valid
}
else
{
//Invalid
}
Was haben Sie bisher getan? – user2085143
ich arbeite an diesem js compenent [strenght password] (http://rumkin.com/tools/password/patchk.php) 'strength password' –
Es ist alles sehr gut mit Javascript validieren, aber der Benutzer kann nur ändern der Wert nach der Validierung, aber bevor es an den Server gesendet wird .. – stuartd