Password-Speed-Challenge

Benchmark created by jsundn on


Test runner

Ready to run.

Testing in
TestOps/sec
Da code
function checkifStringHasAtLeastALengthOf8AndThreeLowercasedLettersAndTwoUppercaseLettersAndOneNonAlphanumericCharacterStitch(string) {
  function nonAlphanumeric(currentStringOrCharacter) {
    var charCode,
      numberOfNonAlphanumericCharacters = 0;

    for (var i = currentStringOrCharacter.length; --i >= 0;) {
      charCode = currentStringOrCharacter.charCodeAt(i);
      if (!(charCode > 47 && charCode < 58) && !(charCode > 64 && charCode < 91) && !(charCode > 96 && charCode < 123)) {
        numberOfNonAlphanumericCharacters = numberOfNonAlphanumericCharacters + 1;
      }
    }

    return numberOfNonAlphanumericCharacters;
  };

  return string.length > 7 && nonAlphanumeric(string) > 0 && (function() {
    var character,
      numberOfLowercasedCharacters = 0;

    for (var i = string.length; --i >= 0;) {
      character = string.charAt(i);
      if (!nonAlphanumeric(character) && character === character.toLowerCase()) {
        numberOfLowercasedCharacters = numberOfLowercasedCharacters + 1;
      }
    }
    return numberOfLowercasedCharacters > 2;
  }()) && (function() {
    var character,
      numberOfUppercasedCharacters = 0;

    for (var i = string.length; --i >= 0;) {
      character = string.charAt(i);
      if (!nonAlphanumeric(character) && character === character.toUpperCase()) {
        numberOfUppercasedCharacters = numberOfUppercasedCharacters + 1;
      }
    }
    return numberOfUppercasedCharacters > 1;
  }());
}

checkifStringHasAtLeastALengthOf8AndThreeLowercasedLettersAndTwoUppercaseLettersAndOneNonAlphanumericCharacterStitch("kjdfkjdsKFKAJSFJLF!!43#");
ready
Speed test 2
function checkifStringHasAtLeastALengthOf8AndThreeLowercasedLettersAndTwoUppercaseLettersAndOneNonAlphanumericCharacterStitch(string) {
            function nonAlphanumeric(currentStringOrCharacter) {
                var charCode,
                    numberOfNonAlphanumericCharacters = 0;

                for (var i = currentStringOrCharacter.length; --i >= 0;) {
                    charCode = currentStringOrCharacter.charCodeAt(i);
                    if (!(charCode > 47 && charCode < 58) && !(charCode > 64 && charCode < 91) && !(charCode > 96 && charCode < 123)) {
                        numberOfNonAlphanumericCharacters = numberOfNonAlphanumericCharacters + 1;
                    }
                }
                
                return numberOfNonAlphanumericCharacters;
            };

            return string.length > 7 && nonAlphanumeric(string) > 0 && (function() {
                var character,
                    numberOfLowercasedCharacters = 0;

                for (var i = string.length; --i >= 0;) {
                    character = string.charAt(i);
                    if (!nonAlphanumeric(character) && character === character.toLowerCase()) {
                        numberOfLowercasedCharacters = numberOfLowercasedCharacters + 1;
                    }
                }
              return numberOfLowercasedCharacters > 2;
            }()) && (function() {
                var character,
                    numberOfUppercasedCharacters = 0;

                for (var i = string.length; --i >= 0;) {
                    character = string.charAt(i);
                    if (!nonAlphanumeric(character) && character === character.toUpperCase()) {
                        numberOfUppercasedCharacters = numberOfUppercasedCharacters + 1;
                    }
                }
              return numberOfUppercasedCharacters > 1;
            }());
        }

        checkifStringHasAtLeastALengthOf8AndThreeLowercasedLettersAndTwoUppercaseLettersAndOneNonAlphanumericCharacterStitch("kjJIJWIDJSIDNijnsidnsifnidsKFKAJSFJLF!!43#");
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by jsundn on