Skip to content

Instantly share code, notes, and snippets.

@MightyPork
Created December 7, 2016 19:04
Show Gist options
  • Select an option

  • Save MightyPork/c13e86e12af49a685ff5ab1802eee1e7 to your computer and use it in GitHub Desktop.

Select an option

Save MightyPork/c13e86e12af49a685ff5ab1802eee1e7 to your computer and use it in GitHub Desktop.
SHITTY INTERNET BANKING PASSWORD STRENGTH CHECKER
$(document)
.ready(
function() {
passwordStrenghtStart();
});
var counterInterval = 1000;
var counterObjIdent;
var lastFocusedId;
var pwdForAjax;
var wasVerified = false;
var showPasswordErrors;
var checkPwdValidity;
var denyIcon = '<img src="images/icons/deny_icon.gif" border="0" alt="" />';
var allowIcon = '<img class="allowIcon" src="images/icons/allow_icon.gif" border="0" alt="" />';
var ajaxLoaderIcon = '<img src="images/icons/ajax-loader.gif" border="0" alt="" width="17" />';
function countToStart(interval, password) {
if (!wasVerified) {
counterObjIdent = setTimeout('checkPassword("'+escape(password)+'","'+lastFocusedId+'")', interval);
wasVerified = true;
}
}
function clearErrorTexts(objId) {
$('#'+objId).parents('table.bundleFrm').find('span.passwordErrors').html(allowIcon);
checkPwdValidity($('#'+objId));
}
function passwordStrenghtStart() {
var isIBS = true;
var isPIN = false;
var passwordRules = false;
var passwordMatch = false;
jQuery.extend( {
isNotNull : function(obj) {
if (obj != null && obj != undefined) {
return true;
}
return false
}
});
function testIfMatchOld(obj, pattern) {
var regex = new RegExp(pattern, 'g');
var mathed = regex.test(obj);
if (mathed) {
return true;
}
return false;
}
function testIfMatch(obj, pattern) {
var mathed = false;
var chars = pattern.toString().split('');
for ( var i = 0; i < chars.length; i++) {
if (obj == chars[i]) {
mathed = true;
}
}
return mathed;
}
function reverseStr(obj) {
var reverted = '';
if (jQuery.isNotNull(obj)) {
reverted = obj.split('').reverse().join('');
}
return reverted;
}
function splitStr(obj) {
return obj.toString().split('');
}
function splitStrByKey(obj, strKey) {
return obj.toString().split(strKey);
}
var tempLetters = "abcdefghijklmnopqrstuvwxyz";
var tempNumbers = "01234567890";
var tempSymbols = "áąäčćďéěęëíľłňńóöőôřŕśšťúůüźżžÁĄÄČĆĎÉĚĘËÍĽŁŇŃÓÖŐÔŘŔŠŚŤÜÚŮÝŽŹŻ!#$%&()*+,-./:;<=>?@[]^_{|}~";
var addsArray = new Array();
var dedsArray = new Array();
var resourceTxtArray = new Array();
var resourceTextElem = $('.pwdRT').html();
if (resourceTextElem != null && resourceTextElem != ''
&& resourceTextElem != 'undefined') {
resourceTxtArray = splitStrByKey(resourceTextElem, '_');
}
var pinTooShort = $('.pinTooShort').html();
var resourceTxtMatchArray = new Array();
var resourceTextMatchElem = $('.pwdRTMatch').html();
if (resourceTextMatchElem != null && resourceTextMatchElem != '' && resourceTextMatchElem != 'undefined') {
resourceTxtMatchArray = splitStrByKey(resourceTextMatchElem, '_');
}
var resourcePasswordErrorTextsArray = new Array();
var resourcePasswordErrorTextsElem = $('.passwordErrorTexts').html();
if (resourcePasswordErrorTextsElem != null && resourcePasswordErrorTextsElem != '' && resourcePasswordErrorTextsElem != 'undefined') {
resourcePasswordErrorTextsArray = splitStrByKey(resourcePasswordErrorTextsElem, '_');
}
var resourceVerifyTextsArray = new Array();
var resourceVerifyTextsElem = $('.verifyTexts').html();
if (resourceVerifyTextsElem != null && resourceVerifyTextsElem != '' && resourceVerifyTextsElem != 'undefined') {
resourceVerifyTextsArray = splitStrByKey(resourceVerifyTextsElem, '_');
}
var firstTimeLogin = false;
var pwdStrenghtLabel = $('.pwdStrenghtLabel').html();
if (jQuery.isNotNull(pwdStrenghtLabel) && pwdStrenghtLabel == 'true') {
firstTimeLogin = true;
}
$('.pwd-strength').click(function() {
if (wasVerified) {
return false;
} else {
$(this).keyup();
}
});
$('.pwd-strength').focus(function() {
if (wasVerified) {
return false;
} else {
$(this).keyup();
}
});
$('.pwd-strength').blur(function() {
if (wasVerified) {
return false;
} else {
$(this).keyup();
}
// On lost focus (blur) hide security tip
$(this).parents('table.bundleFrm').find('span.security-tip').hide();
});
$('.pwd-match').click(function() {
if (wasVerified) {
return false;
} else {
$(this).keyup();
}
});
$('.pwd-match').focus(function() {
if (wasVerified) {
return false;
} else {
$(this).keyup();
}
});
$('.pwd-match').blur(function() {
if (wasVerified) {
return false;
} else {
$(this).keyup();
}
// On lost focus (blur) hide security tip
$(this).parents('table.bundleFrm').find('span.security-tip').hide();
});
// worked with arrays generated by PasswordStrengthScriptTag
// PASSWORD RULES
// check for rules (at least 8 chars, 1 uppercase letter, 1 number)
var pwdRquirementsOK = false;
function initDedsArray() {
dedsArray[0] = new Array(1, 'LettersOnly', 'n', 0);
dedsArray[1] = new Array(2, 'NumbersOnly', 'n', 0);
dedsArray[2] = new Array(3, 'RepeatCharacters', 'n', 0);
dedsArray[3] = new Array(4, 'ConsecutiveUppercaseLetters', '(n*2)', 0);
dedsArray[4] = new Array(5, 'ConsecutiveLowercaseLetters', '(n*2)', 0);
dedsArray[5] = new Array(6, 'ConsecutiveNumbers', '(n*2)', 0);
dedsArray[6] = new Array(7, 'SequentialLetters', '(n*3)', 0);
dedsArray[7] = new Array(8, 'SequentialNumbers', '(n*3)', 0);
dedsArray[8] = new Array(9, 'SequentialSymbols', '(n*3)', 0);
}
function initAddsArray() {
initDedsArray();
if (isIBS) {
initAddsArrayIBS();
addsArray = addsArrayIBS;
} else {
initAddsArrayIVR();
addsArray = addsArrayIVR;
}
}
function calculateAdds(obj) {
var pwd = splitStr(obj);
var pwdLength = pwd.length;
var result = 0;
var addsLength = addsArray.length;
// check for rules (at least 8 chars, 1 uppercase letter, 1 number)
if (isIBS && addsArray[6][5]) {
if ((addsArray[0][4] >= passwdMINLengthIBS && addsArray[0][4] <= passwdMAXLengthIBS) && addsArray[3][4] > 0 && addsArray[1][4] > 0) {
pwdRquirementsOK = true;
if (addsArray[0][4] >= passwdMINLengthIBS && addsArray[0][4] <= passwdMAXLengthIBS) {
addsArray[6][4]++;
}
if (addsArray[3][4] > 0) {
addsArray[6][4]++;
}
if (addsArray[1][4] > 0) {
addsArray[6][4]++;
}
} else {
pwdRquirementsOK = false;
}
}
for ( var i = 0; i < addsLength; i++) {
var n = addsArray[i][4];
if (jQuery.isNotNull(n)) {
if ((addsArray[i][1] == 'UppercaseLetters' || addsArray[i][1] == 'LowercaseLetters')
&& n == 0 && addsArray[i][5]) {
result += 0;
} else if (addsArray[i][1] == 'Numbers'
&& addsArray[i][5]) {
if (n > 0 && n < pwdLength) {
result += eval(addsArray[i][3]);
} else {
result += 0;
}
} else {
if (addsArray[i][5]) {
result += eval(addsArray[i][3]);
}
}
}
}
var dedsLength = dedsArray.length;
for ( var k = 0; k < dedsLength; k++) {
var n = dedsArray[k][3];
var id = dedsArray[k][0];
if (jQuery.isNotNull(n)) {
result -= eval(dedsArray[k][3]);
}
}
return result;
}
$('.pwd-strength').live('keypress', function (e) {
if ( e.keyCode == 9 ){
if($('.pwd-strength').val() == '') {
$(this).parents('table.bundleFrm').find('.isPWDOK').html('');
$(this).parents('table.bundleFrm').find('span.pwd-match-Txt').html('');
$(this).parents('table.bundleFrm').find('.isPWDOK').html('true');
passwordRules = true;
}
}
});
$('.pwd-strength')
.keyup(
function() {
clearTimeout(counterObjIdent);
wasVerified = false;
initAddsArray();
var tObj = $(this).parents(
'table.bundleFrm').find(
'input.pwd-strength');
var tId = $(tObj).attr('id');
lastFocusedId = tId;
if (tId.indexOf('CC') != -1
|| tId.indexOf('IVR') != -1) {
// isPIN
if (tId.indexOf('CC') != -1) {
isPIN = true;
}
isIBS = false;
} else {
isIBS = true;
}
var tempLettersLength = splitStr(tempLetters).length - 3;
var tempNumbersLength = splitStr(tempNumbers).length - 3;
var tempSymbolsLength = splitStr(tempSymbols).length - 3;
var tPwd = jQuery.trim($(this).val());
// for ajax (on blur action)
pwdForAjax = tPwd;
var pwd = splitStr(tPwd);
var pwdLength = pwd.length;
var addsResult = 0;
var letter = '';
var tempRepeatChar = 0;
for ( var i = 0; i < pwdLength; i++) {
letter = $(pwd).get(i);
for ( var j = 0; j < addsArray.length; j++) {
var name = addsArray[j][1];
var pattern = addsArray[j][2];
if (name == 'NumberOfCharacters'
&& addsArray[j][5]) {
addsArray[j][4]++;
} else if ((name == 'UppercaseLetters'
|| name == 'LowercaseLetters'
|| name == 'Numbers' || name == 'Symbols')
&& addsArray[j][5]) {
var isValid = testIfMatch(
letter, pattern);
if (isValid) {
addsArray[j][4]++;
var pism = pwd[i + 1];
if (jQuery
.isNotNull(pism)) {
var isNextSameChar = testIfMatch(
pwd[i + 1],
pattern);
if (isNextSameChar) {
if (name == 'UppercaseLetters') {
dedsArray[3][3]++;
} else if (name == 'LowercaseLetters') {
dedsArray[4][3]++;
} else if (name == 'Numbers') {
dedsArray[5][3]++;
} else if (name == 'Symbols') {
}
}
}
if ((name == 'Numbers' || name == 'Symbols')
&& addsArray[j][5]) {
var nBefore = jQuery
.isNotNull(pwd[i - 1]);
var nAfter = jQuery
.isNotNull(pwd[i + 1]);
if (nBefore
&& nAfter) {
addsArray[5][4]++;
}
}
}
}
}
var repChar = false;
for ( var k = 0; k < pwdLength; k++) {
if (i != k
&& ($(pwd).get(i) == $(
pwd).get(k))) {
dedsArray[2][3] += Math
.abs(pwdLength
/ (k - i));
repChar = true;
}
}
if (repChar) {
tempRepeatChar++;
var temp = pwdLength
- tempRepeatChar;
var ded = (temp) ? Math
.ceil(dedsArray[2][3]
/ temp) : Math
.ceil(dedsArray[2][3]);
dedsArray[2][3] = ded;
}
}
var numbersN = 0;
var lettersU = 0;
var lettersL = 0;
for ( var c = 0; c < addsArray.length; c++) {
if (addsArray[c][1] == 'UppercaseLetters') {
lettersU = c;
}
if (addsArray[c][1] == 'LowercaseLetters') {
lettersL = c;
}
if (addsArray[c][1] == 'Numbers') {
numbersN = c;
}
}
var numbs = addsArray[numbersN][4];
var letts = addsArray[lettersU][4]
+ addsArray[lettersL][4];
if (numbs == pwdLength) {
dedsArray[1][3] = pwdLength;
} else if (letts == pwdLength) {
dedsArray[0][3] = pwdLength;
}
for ( var t = 0; t < tempLettersLength; t++) {
var fwd = tempLetters.substring(t,
parseInt(t + 3));
var rev = reverseStr(fwd);
if ($(this).val().toString()
.toLowerCase().indexOf(fwd) != -1
|| $(this).val().toString()
.toLowerCase()
.indexOf(rev) != -1) {
dedsArray[6][3]++;
}
}
for ( var t = 0; t < tempNumbersLength; t++) {
var fwd = tempNumbers.substring(t,
parseInt(t + 3));
var rev = reverseStr(fwd);
if ($(this).val().toString()
.toLowerCase().indexOf(fwd) != -1
|| $(this).val().toString()
.toLowerCase()
.indexOf(rev) != -1) {
dedsArray[7][3]++;
}
}
for ( var t = 0; t < tempSymbolsLength; t++) {
var fwd = tempSymbols.substring(t,
parseInt(t + 3));
var rev = reverseStr(fwd);
if ($(this).val().toString()
.toLowerCase().indexOf(fwd) != -1
|| $(this).val().toString()
.toLowerCase()
.indexOf(rev) != -1) {
dedsArray[8][3]++;
}
}
addsResult = calculateAdds(tPwd);
if (addsResult < 0) {
addsResult = 0;
}
var strengthTxtObj = $(this).parents(
'table.bundleFrm').find(
'span.pwd-strength-Txt');
var txtA = resourceTxtArray[0];
var meterText = '<span class="pwdStrenghtLabel"></span>';
var meterIconDefault = '<img src="images/icons/pwd_strength_1.gif" border="0" alt="" />';
if (firstTimeLogin) {
}
var strengthTxtObjIVR = $(this).parents('table.bundleFrm').find('span.pwdMeterIVR');
if (!isIBS && addsResult == 0 && strengthTxtObjIVR) {
$(strengthTxtObjIVR).css('display','none');
} else {
$(strengthTxtObjIVR).css('display','block');
}
// check first forbidden sequences (only for CMS IVR)
var forbiddenSeqUsed = false;
var isCMSAPP = false;
if (forbiddenSequenceArray != null && forbiddenSequenceArray.length > 0) {
isCMSAPP = true;
//alert(forbiddenSequenceArray.length);
for (var f=0; f<forbiddenSequenceArray.length; f++) {
if (tPwd.indexOf(forbiddenSequenceArray[f]) != -1) {
forbiddenSeqUsed = true;
}
}
}
// turn off AJAX validation
var AJAXBlocked = false;
var blockAjax = $('#blockAjaxVerification');
if ($(blockAjax) != null && $(blockAjax).html() == 'true') {
AJAXBlocked = true;
}
var objPasswordErrors = $(this).parents('table.bundleFrm').find('span.passwordErrors');
if (addsResult == 0) {
$(strengthTxtObj).html(isIBS ? '<img src="images/icons/pwd_strength_1.gif" border="0" alt="" /> ' + resourceTxtArray[0] : '');
if (isIBS && pwdLength < passwdMINLengthIBS) {
showPasswordErrors(objPasswordErrors, 0, 2);
} else if (!isIBS && pwdLength < passwdLengthIVR) {
showPasswordErrors(objPasswordErrors,(!isPIN ? 0 : 1), 2);
} else {
showPasswordErrors(objPasswordErrors,(!isIBS && isPIN ? 1 : 0), 3);
}
} else if (addsResult >= 1 && addsResult <= 45) {
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_1.gif" border="0" alt="" /> ' + resourceTxtArray[0] : '');
if (isIBS && pwdLength < passwdMINLengthIBS) {
showPasswordErrors(objPasswordErrors, 0, 2);
} else if (!isIBS && pwdLength < passwdLengthIVR) {
showPasswordErrors(objPasswordErrors,(!isPIN ? 0 : 1), 2);
} else {
showPasswordErrors(objPasswordErrors,(!isIBS && isPIN ? 1 : 0), 3);
}
} else if (addsResult > 45 && addsResult <= 75) {
// check if password has proper length
if (isIBS && (pwdLength >= passwdMINLengthIBS && pwdLength <= passwdMAXLengthIBS) && pwdRquirementsOK) {
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_2.gif" border="0" alt="" /> ' + resourceTxtArray[1] : '');
// not for CMS IVR
if (!isCMSAPP) {
if (!AJAXBlocked) {
// check password validity
countToStart(counterInterval, tPwd);
showPasswordErrors(objPasswordErrors, 0, 99);
} else {
clearErrorTexts(''+tId+'');
}
}
} else if (!isIBS && (pwdLength == passwdLengthIVR) && !forbiddenSeqUsed) {
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_2.gif" border="0" alt="" /> ' + resourceTxtArray[1] : '');
// not for CMS IVR
if (!isCMSAPP) {
if (!AJAXBlocked) {
// check password validity
countToStart(counterInterval, tPwd);
showPasswordErrors(objPasswordErrors,(!isIBS && isPIN ? 1 : 0), 99);
} else {
clearErrorTexts(''+tId+'');
}
} else {
clearErrorTexts(''+tId+'');
}
} else if (isIBS && (pwdLength >= passwdMINLengthIBS && pwdLength <= passwdMAXLengthIBS) && !pwdRquirementsOK) {
showPasswordErrors(objPasswordErrors, 0, 3);
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_1.gif" border="0" alt="" /> ' + resourceTxtArray[0] : '');
} else {
showPasswordErrors(objPasswordErrors,(!isIBS && isPIN ? 1 : 0), 2);
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_1.gif" border="0" alt="" /> ' + resourceTxtArray[0] : '');
}
} else if (addsResult > 75) {
// check if password has proper length
if (isIBS && (pwdLength >= passwdMINLengthIBS && pwdLength <= passwdMAXLengthIBS) && pwdRquirementsOK) {
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_3.gif" border="0" alt="" /> ' + resourceTxtArray[2] : '');
// not for CMS IVR
if (!isCMSAPP) {
if (!AJAXBlocked) {
// check password validity
countToStart(counterInterval, tPwd);
showPasswordErrors(objPasswordErrors, 0, 99);
} else {
clearErrorTexts(''+tId+'');
}
}
} else if (!isIBS && (pwdLength == passwdLengthIVR) && !forbiddenSeqUsed) {
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_3.gif" border="0" alt="" /> ' + resourceTxtArray[2] : '');
// not for CMS IVR
if (!isCMSAPP) {
if (!AJAXBlocked) {
// check password validity
countToStart(counterInterval, tPwd);
showPasswordErrors(objPasswordErrors,(!isIBS && isPIN ? 1 : 0), 99);
} else {
clearErrorTexts(''+tId+'');
}
} else {
clearErrorTexts(''+tId+'');
}
} else if (isIBS && (pwdLength >= passwdMINLengthIBS && pwdLength <= passwdMAXLengthIBS) && !pwdRquirementsOK) {
showPasswordErrors(objPasswordErrors, 0, 3);
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_1.gif" border="0" alt="" /> ' + resourceTxtArray[0] : '');
} else {
showPasswordErrors(objPasswordErrors,(!isIBS && isPIN ? 1 : 0), 2);
$(strengthTxtObj).html(isIBS ? meterText + '<img src="images/icons/pwd_strength_1.gif" border="0" alt="" /> ' + resourceTxtArray[0] : '');
}
}
var matchTo = $(this).parents(
'table.bundleFrm').find(
'input.pwd-match');
testIfNewMatch(this, matchTo);
if (addsResult > 45) {
// check if password has proper length and valid to requirements
if (isIBS && (pwdLength >= passwdMINLengthIBS && pwdLength <= passwdMAXLengthIBS) && pwdRquirementsOK) {
passwordRules = true;
} else if (!isIBS && (pwdLength == passwdLengthIVR)) {
passwordRules = true;
} else {
passwordRules = false;
}
} else {
passwordRules = false;
}
checkPwdValidity($(this));
// return to first state
if ($(this).val() == '' && $(matchTo).val() != '') {
$(this).parents('table.bundleFrm').find('span.pwd-strength-Txt').html(isIBS ? meterText + meterIconDefault + resourceTxtArray[0] : '');
$(this).parents('table.bundleFrm').find('.isPWDOK').html('true');
$(this).parents('table.bundleFrm').find('.isPWDOK').html('');
$(this).parents('table.bundleFrm').find('.passwordErrors').hide();
$(strengthTxtObjIVR).css('display','none');
} else if ($(this).val() == '' && $(matchTo).val() == '') {
$(this).parents('table.bundleFrm').find('span.pwd-strength-Txt').html(isIBS ? meterText + meterIconDefault + resourceTxtArray[0] : '');
$(this).parents('table.bundleFrm').find('span.pwd-match-Txt').html('<span class="psswdsAre">&nbsp;</span>');
$(this).parents('table.bundleFrm').find('.isPWDOK').html('true');
$(this).parents('table.bundleFrm').find('.isPWDOK').html('');
$(this).parents('table.bundleFrm').find('.passwordErrors').hide();
$(strengthTxtObjIVR).css('display','none');
$(this).parents('table.bundleFrm').find('span.security-tip').show();
}
if (jQuery.trim($(this).val()) != '' || jQuery.trim($(matchTo).val()) != '') {
$(this).parents('table.bundleFrm').find('span.security-tip').hide();
}
});
// find proper error text for password or PIN (0,1) by the errorTypeNumber (2,3,4) and show 99 for verify icons
showPasswordErrors = function(obj, pIdent, errorTypeNumber) {
var verifyText = '' + (errorTypeNumber == 99 ? ajaxLoaderIcon : denyIcon) + '';
if (errorTypeNumber == 99) {
verifyText += ' <span class="verify">' + resourceVerifyTextsArray[0] + ' ' + (pIdent==0 ? resourceVerifyTextsArray[1] : resourceVerifyTextsArray[2]) + '</span>';
} else if (pIdent == 1 && errorTypeNumber == 2) {
verifyText += ' <span class="negative">' + resourcePasswordErrorTextsArray[pIdent] + ' ' + pinTooShort + '</span>';
} else {
verifyText += ' <span class="negative">' + resourcePasswordErrorTextsArray[pIdent] + ' ' + resourcePasswordErrorTextsArray[errorTypeNumber] + '</span>';
}
var securityTipObj = $(obj).parents('table.bundleFrm').find('span.security-tip');
var firstInputObj = $(obj).parents('table.bundleFrm').find('input.pwd-strength');
if ($(securityTipObj).css('display') == 'table' && $(firstInputObj).val().length > 0) {
$(securityTipObj).hide();
$(obj).html(verifyText);
$(obj).show();
} else {
$(obj).html(verifyText);
$(obj).show();
}
};
function testIfNewMatch(obj, matchObj) {
var nObj = $(obj);
var strengthTxtMatchObj = $(obj).parents(
'table.bundleFrm').find('span.pwd-match-Txt');
var pwdM = $(matchObj);
if ($(nObj).val() == $(pwdM).val()) {
var atId = $(nObj).attr('id');
if (atId.indexOf('CC') != -1) {
$(strengthTxtMatchObj).html(
'<span class="psswdsAre">'+ allowIcon + '</span>');
} else {
$(strengthTxtMatchObj).html(
'<span class="psswdsAre">'+ allowIcon + '</span>');
}
passwordMatch = true;
if ($(nObj).val() == '' && $(pwdM).val() == '') {
$(strengthTxtMatchObj).html('<span class="psswdsAre">&nbsp;</span>');
}
} else {
var atId = $(nObj).attr('id');
if (atId.indexOf('CC') != -1) {
$(strengthTxtMatchObj).html(
'<span class="psswdsAre">'+ denyIcon + ' <span class="negative">' + resourceTxtMatchArray[3] + ' '
+ resourceTxtMatchArray[5]
+ '</span></span>');
} else {
$(strengthTxtMatchObj).html(
'<span class="psswdsAre">'+ denyIcon + ' <span class="negative">' + resourceTxtMatchArray[0] + ' '
+ resourceTxtMatchArray[2]
+ '</span></span>');
}
passwordMatch = false;
}
}
$('.pwd-match')
.keyup(
function() {
var nObj = $(this).parents(
'table.bundleFrm').find(
'input.pwd-strength');
var mObj = $(this).parents('table.bundleFrm').find('input.pwd-match');
var strengthTxtMatchObj = $(this)
.parents('table.bundleFrm')
.find('span.pwd-match-Txt');
var newPwdObj = jQuery.isNotNull(nObj);
if (newPwdObj) {
if (($(nObj).val() == $(this).val())) {
var atId = $(nObj).attr('id');
if (atId.indexOf('CC') != -1) {
$(strengthTxtMatchObj).html(
'<span class="psswdsAre">'+ allowIcon + '</span>');
} else {
$(strengthTxtMatchObj).html(
'<span class="psswdsAre">'+ allowIcon + '</span>');
}
passwordMatch = true;
if ($(this).val() == '' && $(nObj).val() == '') {
$(strengthTxtMatchObj).html('<span class="psswdsAre">&nbsp;</span>');
$(nObj).val('');
$(nObj).parents('table.bundleFrm').find('.isPWDOK').html('true');
passwordRules = true;
}
} else if ($(nObj).val() != $(this)
.val()) {
var atId = $(nObj).attr('id');
if (atId.indexOf('CC') != -1) {
$(strengthTxtMatchObj).html(
'<span class="psswdsAre">'+ denyIcon + ' <span class="negative">' + resourceTxtMatchArray[3] + ' '
+ resourceTxtMatchArray[5]
+ '</span></span>');
} else {
$(strengthTxtMatchObj).html(
'<span class="psswdsAre">'+ denyIcon + ' <span class="negative">' + resourceTxtMatchArray[0] + ' '
+ resourceTxtMatchArray[2]
+ '</span></span>');
}
passwordMatch = false;
}
if (jQuery.trim($(nObj).val()) == '' && jQuery.trim($(mObj).val()) == '') {
$(nObj).parents('table.bundleFrm').find('span.security-tip').show();
} else {
$(nObj).parents('table.bundleFrm').find('span.security-tip').hide();
}
}
checkPwdValidity($(this));
});
checkPwdValidity = function(spanObj) {
if (passwordRules && passwordMatch) {
var errorsObj = $(spanObj).parents('table.bundleFrm').find('.passwordErrors');
if (errorsObj && ($(errorsObj).css('display') == 'none' || $(errorsObj).find('img.allowIcon') != null)) {
$(spanObj).parents('table.bundleFrm').find(
'.isPWDOK').html('true');
}
} else {
$(spanObj).parents('table.bundleFrm').find(
'.isPWDOK').html('false');
}
}
}
@SageStarCodes
Copy link

eeh... can I get a TL;DR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment