1.0.2 • Published 2 years ago
hs-password-validator v1.0.2
Password Validator
A complete and comprehensive password validator
Prerequisites
This project requires NodeJS (version 12 or later)
Install
npm i hs-password-validator
Or if you prefer using Yarn:
yarn add hs-password-validator
Usage
import PasswordValidator from 'hs-password-validator'
// Using only options
// Validate if a password has min length of characters
const validate = PasswordValidator({
password: 'myTestingPassword',
options: ['min']
})
console.log(validate)
/*
{
"hasInvalidFields": false,
"data": [
{
"validation": "min",
"arguments": 10,
"message": "Must contain at least 10 characters",
"satisfied": true
}
]
}
*/
// Validate if a password has at least one upper case character
const validateUppercase = PasswordValidator({
password: 'mypasswordhasnouppercase',
options: ['uppercase']
})
console.log(validateUppercase)
/*
{
"hasInvalidFields": true,
"data": [
{
"validation": "uppercase",
"message": "At least one uppercase letter",
"satisfied": false
}
]
}
*/
Configuration
By default all options works without any extra configuration but you may want change some of them.
const validate = PasswordValidator({
password: 'ShortPassword',
options: ['min'],
config: { length: { minLength: 16 } }
})
console.log(validate)
/*
{
"hasInvalidFields": true,
"data": [
{
"validation": "min",
"arguments": 16,
"message": "Must contain at least 16 characters",
"satisfied": false
}
]
}
*/
Language
This package supports multiple languages. You can change the language by setting the lang
config.
By default this package use en-US, for now only english and pourtuguese br were supported, more in the future
const validate = PasswordValidator({
password: 'ShortPassword',
options: ['min'],
config: { length: { minLength: 16 }, lang: 'pt-BR' }
})
console.log(validate)
/*
{
"hasInvalidFields": true,
"data": [
{
"validation": "min",
"arguments": 16,
"message": "Deve conter no mínimo 16 caracteres",
"satisfied": false
}
]
}
*/
Multiples options
You can combine multiple options to validate a password.
const validate = PasswordValidator({
password: 'MyPassword',
options: ['min', 'uppercase', 'lowercase', 'number', 'symbol'],
config: { length: { minLength: 8 } }
})
console.log(validate)
/*
{
"hasInvalidFields": true,
"data": [
{
"validation": "min",
"arguments": 8,
"message": "Must contain at least 8 characters",
"satisfied": true
},
{
"validation": "uppercase",
"message": "At least one uppercase letter",
"satisfied": true
},
{
"validation": "lowercase",
"message": "At least one lowercase letter",
"satisfied": true
},
{
"validation": "number",
"message": "Must contain numbers",
"satisfied": false
},
{
"validation": "symbol",
"message": "At least one special character",
"satisfied": false
}
]
}
*/
Available options
Option | Description |
---|---|
min | Minimun password length |
max | Maximun password length |
uppercase | At least one uppercase |
lowercase | At least one lowercase |
symbol | At least one symbol |
number | At least one number |
space | Does not allow spaces |
sequential | Does not allow sequential letters |
strength | Password strength |
Available configs
Length
Option | Description | Default |
---|---|---|
minLength | Minimun password length | 10 |
maxLength | Maximun password length | 128 |
Score Config
Option | Description | Default |
---|---|---|
minAcceptable | Minimun strength allowed | strong |
Language Config
Option | Description | Default |
---|---|---|
lang | Set the messages language | en-US |
Available: en-US, pt-BR
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago
1.0.1-alpha.1.4
2 years ago
1.0.1-alpha.1.3
2 years ago
1.0.1-alpha.1.2
2 years ago
1.0.1-alpha.1.1
2 years ago
1.0.1-alpha.1.0
2 years ago