web/wp-admin/js/password-strength-meter.dev.js
branchwordpress
changeset 109 03b0d1493584
child 132 4d4862461b8d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/wp-admin/js/password-strength-meter.dev.js	Wed Dec 23 17:55:33 2009 +0000
@@ -0,0 +1,21 @@
+// Password strength meter
+function passwordStrength(password,username) {
+    var shortPass = 1, badPass = 2, goodPass = 3, strongPass = 4, symbolSize = 0, natLog, score;
+
+	//password < 4
+    if (password.length < 4 ) { return shortPass };
+
+    //password == username
+    if (password.toLowerCase()==username.toLowerCase()) return badPass;
+
+	if (password.match(/[0-9]/)) symbolSize +=10;
+	if (password.match(/[a-z]/)) symbolSize +=26;
+	if (password.match(/[A-Z]/)) symbolSize +=26;
+	if (password.match(/[^a-zA-Z0-9]/)) symbolSize +=31;
+
+	natLog = Math.log( Math.pow(symbolSize,password.length) );
+	score = natLog / Math.LN2;
+	if (score < 40 )  return badPass
+	if (score < 56 )  return goodPass
+    return strongPass;
+}