2016-11-24 2 views
-2

Ich brauche das Passwort mit diesen Kriterien mit JavaScript (serverseitige C# wäre toll, wenn möglich) eingegeben, um zu überprüfen mit Nachrichten zeigt: -Kennwortüberprüfung nicht aufeinanderfolgende Zahlen mit Javascript

  • Passwort muss numerisch sein.
  • Länge < = 8.

und das ist, wo der Stand Komplexität: -

  • ich nicht wie 11111111 oder 22222222 oder 55559852 oder 12349421 oder 98762534 von beiden Seiten haben kann

so muss ich die Reihenfolge der Zahlen für 4 Ziffern, wo immer sie sich befinden. Jede Hilfe wird geschätzt. Danke.

+2

Was haben Sie bisher getan? – user2085143

+0

ich arbeite an diesem js compenent [strenght password] (http://rumkin.com/tools/password/patchk.php) 'strength password' –

+0

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

Antwort

0

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 
} 
+1

Ich beabsichtige nicht, sich über Ihre Zeit und Mühe lustig zu machen, aber nicht eine Passwort-Validierung in JavaScript, irgendwie albern? Jeder könnte einfach die Konsole öffnen und "var validatePassword = function() {return true}" eingeben. – Lain

+0

Sorry ... Ich habe eine C# Version hinzugefügt! ;) –

+1

Ich schätze die Hilfe @IgorQuirino Wie kann ich den Java-Skript-Code testen können Sie erwähnen, die HTML-Entsprechung bitte –

Verwandte Themen