PageSourceSearch

https://prod.employeetimecard.app/v9/validation/scripts/mocha.js

js employeetimecard.app collected 2026-10-02 00:42:37 UTC 3,923 bytes, 148 lines download raw bytes

1/*
2 * --------------------------------------------------------------------
3 * Simple Password Strength Checker
4 * by Siddharth S, www.ssiddharth.com, [email protected]
5 * for Net Tuts, www.net.tutsplus.com
6 * Version: 1.0, 05.10.2009 	
7 * --------------------------------------------------------------------
8 */
9
10$(document).ready(function() 
11{
12	var strPassword;
13	var charPassword;
14	var complexity = $("#complexity");
15	var minPasswordLength = 6;
16	var baseScore = 0, score = 0;
17	
18	var num = {};
19	num.Excess = 0;
20	num.Upper = 0;
21	num.Numbers = 0;
22	num.Symbols = 0;
23
24	var bonus = {};
25	bonus.Excess = 3;
26	bonus.Upper = 4;
27	bonus.Numbers = 5;
28	bonus.Symbols = 5;
29	bonus.Combo = 0; 
30	bonus.FlatLower = 0;
31	bonus.FlatNumber = 0;
32	
33	outputResult();
34	$("#inputPassword").bind("keyup", checkVal);
35
36function checkVal()
37{
38	init();
39	
40	if (charPassword.length >= minPasswordLength)
41	{
42		baseScore = 50;	
43		analyzeString();	
44		calcComplexity();		
45	}
46	else
47	{
48		baseScore = 0;
49	}
50	
51	outputResult();
52}
53
54function init()
55{
56	strPassword= $("#inputPassword").val();
57	charPassword = strPassword.split("");
58		
59	num.Excess = 0;
60	num.Upper = 0;
61	num.Numbers = 0;
62	num.Symbols = 0;
63	bonus.Combo = 0; 
64	bonus.FlatLower = 0;
65	bonus.FlatNumber = 0;
66	baseScore = 0;
67	score =0;
68}
69
70function analyzeString ()
71{	
72	for (i=0; i<charPassword.length;i++)
73	{
74		if (charPassword[i].match(/[A-Z]/g)) {num.Upper++;}
75		if (charPassword[i].match(/[0-9]/g)) {num.Numbers++;}
76		if (charPassword[i].match(/(.*[!,@,#,$,%,^,&,*,?,_,~])/)) {num.Symbols++;} 
77	}
78	
79	num.Excess = charPassword.length - minPasswordLength;
80	
81	if (num.Upper && num.Numbers && num.Symbols)
82	{
83		bonus.Combo = 25; 
84	}
85
86	else if ((num.Upper && num.Numbers) || (num.Upper && num.Symbols) || (num.Numbers && num.Symbols))
87	{
88		bonus.Combo = 15; 
89	}
90	
91	if (strPassword.match(/^[\sa-z]+$/))
92	{ 
93		bonus.FlatLower = -15;
94	}
95	
96	if (strPassword.match(/^[\s0-9]+$/))
97	{ 
98		bonus.FlatNumber = -35;
99	}
100}
101	
102function calcComplexity()
103{
104	score = baseScore + (num.Excess*bonus.Excess) + (num.Upper*bonus.Upper) + (num.Numbers*bonus.Numbers) + (num.Symbols*bonus.Symbols) + bonus.Combo + bonus.FlatLower + bonus.FlatNumber;
105	
106}	
107	
108function outputResult()
109{
110	if ($("#inputPassword").val()== "")
111	{ 
112		complexity.html("Enter your password").removeClass("weak strong stronger strongest").addClass("default");
113	}
114	else if (charPassword.length < minPasswordLength)
115	{
116		complexity.html("At least " + minPasswordLength+ " characters please!").removeClass("strong stronger strongest").addClass("weak");
117	}
118	else if (score<50)
119	{
120		complexity.html("Weak!").removeClass("strong stronger strongest").addClass("weak");
121	}
122	else if (score>=50 && score<75)
123	{
124		complexity.html("Average!").removeClass("stronger strongest").addClass("strong");
125	}
126	else if (score>=75 && score<100)
127	{
128		complexity.html("Strong!").removeClass("strongest").addClass("stronger");
129	}
130	else if (score>=100)
131	{
132		complexity.html("Secure!").addClass("strongest");
133	}
134	
135	
136		$("#details").html("Base Score :<span class=\"value\">" + baseScore  + "</span>"
137					   + "<br />Length Bonus :<span class=\"value\">" + (num.Excess*bonus.Excess) + " ["+num.Excess+"x"+bonus.Excess+"]</span> " 
138					   + "<br />Upper case bonus :<span class=\"value\">" + (num.Upper*bonus.Upper) + " ["+num.Upper+"x"+bonus.Upper+"]</span> "
139					   + "<br />Number Bonus :<span class=\"value\"> " + (num.Numbers*bonus.Numbers) + " ["+num.Numbers+"x"+bonus.Numbers+"]</span>"
140					   + "<br />Symbol Bonus :<span class=\"value\"> " + (num.Symbols*bonus.Symbols) + " ["+num.Symbols+"x"+bonus.Symbols+"]</span>"
141					   + "<br />Combination Bonus :<span class=\"value\"> " + bonus.Combo + "</span>"
142					   + "<br />Lower case only penalty :<span class=\"value\"> " + bonus.FlatLower + "</span>"
143					   + "<br />Numbers only penalty :<span class=\"value\"> " + bonus.FlatNumber + "</span>"
144					   + "<br />Total Score:<span class=\"value\"> " + score  + "</span>" );
145}
146
147}
148); 

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.