Jump to content
xisto Community
chappill

How Do You Stop A Bar Chugging Off?

Recommended Posts

Well I have this script that you can use to test your password strenght...But if you hold one key down for a while then lift it up the bar for password strength measuring pops out the box! Could someone look at my script and help please?
Thanks.

var commonPasswords = new Array('password', 'pass', '1234', '1246');var numbers = "0123456789";var lowercase = "abcdefghijklmnopqrstuvwxyz";var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";var punctuation = "!.@$Ł#*()%~<>{}[]";function checkPassword(password) {var combinations = 0;if (contains(password, numbers) > 0) {combinations += 10;}if (contains(password, lowercase) > 0) {combinations += 10;}if (contains(password, uppercase) > 0) {combinations += 10;}if (contains(password, punctuation) > 0) {combinations += punctuation.length;}var totalCombinations = Math.pow(combinations, password.length);if (isCommonPassword(password)) {totalCombinations = 75000 // about the size of the dictionary}var timeInSeconds = (totalCombinations / 400) / 2;var timeInDays = timeInSeconds / 86400var lifetime = 365;var percentage = timeInDays / lifetime;var friendlyPercentage = cap(Math.round(percentage * 100), 100);if (totalCombinations != 75000 && friendlyPercentage < (password.length * 3)) {friendlyPercentage += password.length * 3;}var progressBar = document.getElementById("progressBar");progressBar.style.width = friendlyPercentage + "%";if (percentage > 1) {// strong passwordprogressBar.style.backgroundColor = "#3bce08";return;}if (percentage > 0.5) {// reasonable passwordprogressBar.style.backgroundColor = "#ffd801";return;}if (percentage > 0.10) {// weak passwordprogressBar.style.backgroundColor = "orange";return;}if (percentage <= 0.10) {// weak passwordprogressBar.style.backgroundColor = "red";return;}}function cap(number, max) {if (number > max) {return max;} else {return number;}}function isCommonPassword(password) {for (i = 0; i < commonPasswords.length; i++) {var commonPassword = commonPasswords[i];if (password == commonPassword) {return true;}}return false;}function contains(password, validChars) {count = 0;for (i = 0; i < password.length; i++) {var char = password.charAt(i);if (validChars.indexOf(char) > -1) {count++;}}return count;}

And the HTML I am using (because the 2 both tie):

<table><tr><td>Password:</td><td><input type="text" onKeyUp="checkPassword(this.value)"/></td><td><div style="border: 1px solid gray; width: 100px;"><div id="progressBar"style="font-size: 1px; height: 20px; width: 0px; border: 1px solid white;"></div></div></td></tr></table>

Hope you can find and solve the problem from them 2!

Share this post


Link to post
Share on other sites

Just make sure the percentage never goes above 100. If it does get above 100, just set it equal to 100.

var progressBar = document.getElementById("progressBar");progressBar.style.width = friendlyPercentage + "%";

Becomes:

var progressBar = document.getElementById("progressBar");if (friendlyPercentage > 100) {friendlyPercentage = 100;}progressBar.style.width = friendlyPercentage + "%";

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.