@mdaemon/validate, A Dependency Free input validation library
[ @mdaemon/validate on npm ]
The "validate" utility provides several validation methods, from domains to ipv6, and email to LDAP.
Install
$ npm install @mdaemon/validate --save
Node CommonJS
const validate = require("@mdaemon/validate/dist/validate.cjs");
Node Modules
import validate from "@mdaemon/validate/dist/validate.mjs";
Web
<script type="text/javascript" src="/path_to_modules/dist/validate.umd.js">
Validate domain syntax
let validDomain = validate.domain("mdaemon.com");
console.log(validDomain);
validDomain = validate.domain("mdaemon");
console.log(validDomain);
validDomain = validate.domain("mdaemon.*", true);
console.log(validDomain);
Validate email address syntax
let validEmail = validate.email("tommy@mdaemon.com");
console.log(validEmail);
validEmail = validate.email("tommy.com");
console.log(validEmail);
validEmail = validate.email("*@mdaemon???", true);
console.log(validEmail);
Validate ipv4 and ipv6 address syntax
let validIP = validate.ip("2001:0db8:85a3:0000:0000:8a2e:0370:7334");
console.log(validIP);
validIP = validate.ip("::");
console.log(validIP);
validIP = validate.ip("10");
console.log(validIP);
validIP = validate.ip("10.*.*.###", true);
console.log(validIP);
Validate LDAP DN syntax
let validDN = validate.ldapDN("CN=test,OU=test,DC=test");
console.log(validDN);
Validate windows file name
let validFileName = validate.windowsFileName("test.txt");
console.log(validFileName);
validFileName = validate.windowsFileName("~test.txt");
console.log(validFileName);
Validate windows path
let validPath = validate.windowsPath("C:\\test\\this\\path");
console.log(validPath);
validPath = validate.windowsPath("C:\\test\n");
console.log(validPath);
validPath = validate.windowsPath("C:\\*", true);
console.log(validPath);
Validate value is an int as opposed to a float
let validInt = validate.int("1");
console.log(validInt);
validInt = validate.int("1.1");
console.log(validInt);
let validHeaderName = validate.headerName("X-Test-Name");
console.log(validHeaderName);
validHeaderName = validate.headerName("X=Test=Name");
console.log(validHeaderName);
let validHeaderValue = validate.headerValue("1");
console.log(validHeaderValue);
validHeaderValue = validate.headerValue("default-src 'self' example.com *.example.com");
console.log(validHeaderValue);
validHeaderValue = validate.headerValue("default-src 'self' \n");
console.log(validHeaderValue);
let validHeader = validate.header("Content-Security-Policy: default-src 'self'");
console.log(validHeader);
validHeader = validate.header("X-Frame-Options");
console.log(validHeader);
Validate password requirements
let validPassword = validate.password("Test this Password1");
console.log(validPassword);
validPassword = validate.password("test this one1", true);
console.log(validPassword);
validate.hasLowerCase("Test Password@1");
validate.hasLowerCase("TEST PASSWORD");
validate.hasUpperCase("Test Password@1");
validate.hasUpperCase("test password");
validate.hasNumber("Test Password@1");
validate.hasNumber("test password");
validate.hasSpecial("Test Password@1");
validate.hasSpecial("test password1");
validate.isValidPassword("TestPassword1");
validate.isValidPassword("TestPassword1", true);
validate.isValidPassword("TestPassword1*", true, 4, 20);
validate.setPasswordRequirements({
upper: true,
lower: true,
number: false,
special: true,
min: 6,
max: 16
});
validate.isValidPassword("TestPassword*");
validate.setPasswordRequirements({ upper: false });
validate.isValidPassword("testpassword", false);
validate.resetPasswordRequirements();
validate.isValidPassword("testpassword*");
License
Published under the LGPL-2.1 license.
Published by
MDaemon Technologies, Ltd.
Simple Secure Email
https://www.mdaemon.com