Skip to content

Instantly share code, notes, and snippets.

@skylying
Created October 27, 2015 08:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skylying/e9321795002e2672d66f to your computer and use it in GitHub Desktop.
Save skylying/e9321795002e2672d66f to your computer and use it in GitHub Desktop.
Validation
function validate(password) {
var length = password.length;
var invalidMessage = '';
var result = {
"isValid": true,
"message": ''
}
var rule = '';
if (length < 8) {
invalidMessage = 'You have to provide at least 8 characters'
result.message = invalidMessage;
return result;
} else if (length >= 8 && length <= 11) {
rule = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,11}$/;
invalidMessage = 'Password requirs mixed letter, numbers, and symbols';
} else if (length >= 12 && length <= 15) {
var rule = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{12,15}$/;
invalidMessage = 'Password requirs mixed letter, numbers';
} else if (length >= 16 && length <= 19) {
var rule = /^(?=.*?[A-Z])(?=.*?[a-z]).{16,19}$/;
invalidMessage = 'Password requirs mixed letter';
} else if (length >= 20) {
return result;
}
// Do the validation
if (!rule.test(password)) {
result.isValid = false;
result.message = invalidMessage;
}
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment