<script type="text/javascript">
// Source: http://stackoverflow.com/questions/2593637/how-to-escape-regular-expression-in-javascript
RegExp.quote = function(str) {
return (str + '').replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&");
};
$('.validation').hide();
let $password = $("#password");
let $confirmPassword = $("#confirm_password");
let $submitButton = $("#reset-password-btn");
let $form = $('#reset-password-form');
function isPasswordValid() {
return (checkMinLength() && checkMaxLength() && checkMinNumber() && checkMinUpperCase() && checkMinLowerCase() && checkMinCustomCharacters());
}
function checkMinLength() {
return true;
}
function checkMaxLength() {
return true;
}
function checkMinNumber() {
return true;
}
function checkMinUpperCase() {
return true;
}
function checkMinLowerCase() {
return true;
}
function checkMinCustomCharacters() {
return true;
}
function arePasswordsMatching() {
return $password.val() === $confirmPassword.val();
}
function fieldsAreFilled() {
return $password.val() !== "" && $confirmPassword.val() !== ""
} <
!--Can submit-- >
function canSubmit() {
return isPasswordValid() && fieldsAreFilled() && arePasswordsMatching();
}
function passwordEvent() {
if (isPasswordValid()) {
$password.next().hide();
} else {
$password.next().show();
}
} <
!--Check Passwords match-- >
function confirmPasswordEvent() {
if (arePasswordsMatching()) {
$confirmPassword.next().hide();
} else {
$confirmPassword.next().show();
}
}
function htmlDecode(input) {
let doc = new DOMParser().parseFromString(input, "text/html");
return doc.documentElement.textContent;
} <
!--Enable or disable the submit button-- >
function enableSubmitEvent() {
$submitButton.prop("disabled", !canSubmit());
} <
!--Run passwords match check on click submit-- >
$form.submit(function(event) {
event.preventDefault(); //this will prevent the default submit
if (arePasswordsMatching()) {
$(this).unbind('submit').submit(); // continue the submit unbind preventDefault
}
confirmPasswordEvent();
}) <
!--Run passwords rule and field filled check-- >
$password.focus(passwordEvent).keyup(passwordEvent).keyup(enableSubmitEvent); <
!--Run field filled check-- >
$confirmPassword.keyup(enableSubmitEvent); <
!--Run submit button
function code-- >
enableSubmitEvent();
</script>
<script type="text/javascript">
// Source: http://stackoverflow.com/questions/2593637/how-to-escape-regular-expression-in-javascript
RegExp.quote = function(str) {
return (str+'').replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&");
};
$('.validation').hide();
let $password = $("#password");
let $confirmPassword = $("#confirm_password");
let $submitButton = $("#reset-password-btn");
let $form = $('#reset-password-form');
function isPasswordValid() {
return (checkMinLength() && checkMaxLength() && checkMinNumber() && checkMinUpperCase() && checkMinLowerCase() && checkMinCustomCharacters());
}
function checkMinLength() {
${#client.config.password_rules.min_length}$
return ($password.val().length >= ${client.config.password_rules.min_length}$);
${/client.config.password_rules.min_length}$
${^client.config.password_rules.min_length}$
return true;
${/client.config.password_rules.min_length}$
}
function checkMaxLength() {
${#client.config.password_rules.max_length}$
return ($password.val().length <= ${client.config.password_rules.max_length}$);
${/client.config.password_rules.max_length}$
${^client.config.password_rules.max_length}$
return true;
${/client.config.password_rules.max_length}$
}
function checkMinNumber() {
${#client.config.password_rules.min_number}$
let numbers = ($password.val().match(/[0-9]/g)|| []);
return (numbers.length >= ${client.config.password_rules.min_number}$);
${/client.config.password_rules.min_number}$
${^client.config.password_rules.min_number}$
return true;
${/client.config.password_rules.min_number}$
}
function checkMinUpperCase() {
${#client.config.password_rules.min_upper_case}$
let upper = ($password.val().match(/[A-Z]/g) || []);
return (upper.length >= ${client.config.password_rules.min_upper_case}$);
${/client.config.password_rules.min_upper_case}$
${^client.config.password_rules.min_upper_case}$
return true;
${/client.config.password_rules.min_upper_case}$
}
function checkMinLowerCase() {
${#client.config.password_rules.min_lower_case}$
let lower = ($password.val().match(/[a-z]/g) || []);
return (lower.length >= ${client.config.password_rules.min_lower_case}$);
${/client.config.password_rules.min_lower_case}$
${^client.config.password_rules.min_lower_case}$
return true;
${/client.config.password_rules.min_lower_case}$
}
function checkMinCustomCharacters() {
${#client.config.password_rules.min_custom_characters}$
let regex = new RegExp("[" + RegExp.quote(htmlDecode("${client.config.password_rules.custom_characters}$")) + "]", 'g');
let custom = ($password.val().match(regex) || []);
return (custom.length >= ${client.config.password_rules.min_custom_characters}$);
${/client.config.password_rules.min_custom_characters}$
${^client.config.password_rules.min_custom_characters}$
return true;
${/client.config.password_rules.min_custom_characters}$
}
function arePasswordsMatching() {
return $password.val() === $confirmPassword.val();
}
function fieldsAreFilled() {
return $password.val() !== "" && $confirmPassword.val() !== ""
}
<!--Can submit -->
function canSubmit() {
return isPasswordValid() && fieldsAreFilled() && arePasswordsMatching();
}
function passwordEvent() {
if (isPasswordValid()) {
$password.next().hide();
} else {
$password.next().show();
}
}
<!--Check Passwords match-->
function confirmPasswordEvent() {
if (arePasswordsMatching()) {
$confirmPassword.next().hide();
} else {
$confirmPassword.next().show();
}
}
function htmlDecode(input) {
let doc = new DOMParser().parseFromString(input, "text/html");
return doc.documentElement.textContent;
}
<!--Enable or disable the submit button-->
function enableSubmitEvent() {
$submitButton.prop("disabled", !canSubmit());
}
<!--Run passwords match check on click submit-->
$form.submit(function(event) {
event.preventDefault(); //this will prevent the default submit
if(arePasswordsMatching()){
$(this).unbind('submit').submit(); // continue the submit unbind preventDefault
}
confirmPasswordEvent();
})
<!--Run passwords rule and field filled check-->
$password.focus(passwordEvent).keyup(passwordEvent).keyup(enableSubmitEvent);
<!--Run field filled check-->
$confirmPassword.keyup(enableSubmitEvent);
<!--Run submit button function code-->
enableSubmitEvent();
</script>
/* No context defined. */
<script type="text/javascript">
// Source: http://stackoverflow.com/questions/2593637/how-to-escape-regular-expression-in-javascript
RegExp.quote = function(str) {
return (str+'').replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&");
};
$('.validation').hide();
let $password = $("#password");
let $confirmPassword = $("#confirm_password");
let $submitButton = $("#reset-password-btn");
let $form = $('#reset-password-form');
function isPasswordValid() {
return (checkMinLength() && checkMaxLength() && checkMinNumber() && checkMinUpperCase() && checkMinLowerCase() && checkMinCustomCharacters());
}
function checkMinLength() {
${#client.config.password_rules.min_length}$
return ($password.val().length >= ${client.config.password_rules.min_length}$);
${/client.config.password_rules.min_length}$
${^client.config.password_rules.min_length}$
return true;
${/client.config.password_rules.min_length}$
}
function checkMaxLength() {
${#client.config.password_rules.max_length}$
return ($password.val().length <= ${client.config.password_rules.max_length}$);
${/client.config.password_rules.max_length}$
${^client.config.password_rules.max_length}$
return true;
${/client.config.password_rules.max_length}$
}
function checkMinNumber() {
${#client.config.password_rules.min_number}$
let numbers = ($password.val().match(/[0-9]/g)|| []);
return (numbers.length >= ${client.config.password_rules.min_number}$);
${/client.config.password_rules.min_number}$
${^client.config.password_rules.min_number}$
return true;
${/client.config.password_rules.min_number}$
}
function checkMinUpperCase() {
${#client.config.password_rules.min_upper_case}$
let upper = ($password.val().match(/[A-Z]/g) || []);
return (upper.length >= ${client.config.password_rules.min_upper_case}$);
${/client.config.password_rules.min_upper_case}$
${^client.config.password_rules.min_upper_case}$
return true;
${/client.config.password_rules.min_upper_case}$
}
function checkMinLowerCase() {
${#client.config.password_rules.min_lower_case}$
let lower = ($password.val().match(/[a-z]/g) || []);
return (lower.length >= ${client.config.password_rules.min_lower_case}$);
${/client.config.password_rules.min_lower_case}$
${^client.config.password_rules.min_lower_case}$
return true;
${/client.config.password_rules.min_lower_case}$
}
function checkMinCustomCharacters() {
${#client.config.password_rules.min_custom_characters}$
let regex = new RegExp("[" + RegExp.quote(htmlDecode("${client.config.password_rules.custom_characters}$")) + "]", 'g');
let custom = ($password.val().match(regex) || []);
return (custom.length >= ${client.config.password_rules.min_custom_characters}$);
${/client.config.password_rules.min_custom_characters}$
${^client.config.password_rules.min_custom_characters}$
return true;
${/client.config.password_rules.min_custom_characters}$
}
function arePasswordsMatching() {
return $password.val() === $confirmPassword.val();
}
function fieldsAreFilled() {
return $password.val() !== "" && $confirmPassword.val() !== ""
}{
return isPasswordValid() && fieldsAreFilled() && arePasswordsMatching();
}
function passwordEvent() {
if (isPasswordValid()) {
$password.next().hide();
} else {
$password.next().show();
}{
if (arePasswordsMatching()) {
$confirmPassword.next().hide();
} else {
$confirmPassword.next().show();
}
}
function htmlDecode(input) {
let doc = new DOMParser().parseFromString(input, "text/html");
return doc.documentElement.textContent;
}{
$submitButton.prop("disabled", !canSubmit());
}{
event.preventDefault(); //this will prevent the default submit
if(arePasswordsMatching()){
$(this).unbind('submit').submit(); // continue the submit unbind preventDefault
}</script>
No notes defined.