scniro-validator

1.0.1 • Public • Published

a small, dependency-free email validator with configurable rules and suggested corrections

Install

npm install scniro-validator --save

Sample usage

var v = require('scniro-validator');
 
var result = v.validate('foo@bar.com');
// {valid: true}

Configuration

validation may be influenced by calling optional .init with a configuration object

var rules = {
    tld: {
        allowed: ['com']
    sdl: {
        allowed: ['bar']
    }
}
 
var result = v.validate('foo@baz.com');
// {valid: false}

Corrections

validation will include a suggested correction base on corrections defined via tld and sld supplied match objects (top-level domain and second-level domain, respectively). Specify this via tryCorrect.

var rules = {
    tld: {
        allowed: ['com'],
        corrections: [
            {match: 'con.au', correct: 'com'}
        ]
    }
}
 
var result = v.validate('foo@bar.con.au', {tryCorrect: true});
// {valid: false, correction: 'foo@bar.com'}

or a really barged example

var rules = {
    tld: {
        allowed: ['com'],
        corrections: [
            {match: 'con.au', correct: 'com'}
        ]
    },
    sdl: {
        allowed: ['bar']
    }
}
 
var result = v.validate('foo.bar.con.au', {tryCorrect: true});
// {valid: false, correction: 'foo@bar.com'}

Note

e-mail validation is a rabbit whole, and this tool does not aim to be a silver bullet. The capability of this tool is influenced from the w3c type="email" validation, ships with some extensibility specific to a business defined problem, and is pessimistic in nature. For a less problem-specific validation tool, check out the awesome mailcheck.js

Readme

Keywords

none

Package Sidebar

Install

npm i scniro-validator

Weekly Downloads

2

Version

1.0.1

License

MIT

Last publish

Collaborators

  • scniro