replace validator module
This commit is contained in:
1
package-lock.json
generated
1
package-lock.json
generated
@@ -51,7 +51,6 @@
|
||||
"tldjs": "^2.3.1",
|
||||
"ua-parser-js": "^2.0.2",
|
||||
"uuid": "^11.0.5",
|
||||
"validator": "^13.12.0",
|
||||
"ws": "^8.18.0",
|
||||
"xml2js": "^0.6.2"
|
||||
},
|
||||
|
||||
@@ -59,7 +59,6 @@
|
||||
"tldjs": "^2.3.1",
|
||||
"ua-parser-js": "^2.0.2",
|
||||
"uuid": "^11.0.5",
|
||||
"validator": "^13.12.0",
|
||||
"ws": "^8.18.0",
|
||||
"xml2js": "^0.6.2"
|
||||
},
|
||||
|
||||
@@ -79,7 +79,7 @@ const assert = require('assert'),
|
||||
services = require('./services.js'),
|
||||
shell = require('./shell.js')('mail'),
|
||||
superagent = require('./superagent.js'),
|
||||
validator = require('validator'),
|
||||
validator = require('./validator.js'),
|
||||
_ = require('./underscore.js');
|
||||
|
||||
const DNS_OPTIONS = { timeout: 10000 };
|
||||
|
||||
33
src/test/validator-test.js
Normal file
33
src/test/validator-test.js
Normal file
@@ -0,0 +1,33 @@
|
||||
'use strict';
|
||||
|
||||
/* global it, describe, before, after */
|
||||
|
||||
const expect = require('expect.js'),
|
||||
validator = require('../validator.js');
|
||||
|
||||
describe('Validator', function () {
|
||||
const goodEmails = [
|
||||
'a@b.com',
|
||||
'1@2.com',
|
||||
'a_v-d@b.com',
|
||||
'a_v-d@b.what-is.de.com',
|
||||
'a_v-d+gee@b.what-is.de.com',
|
||||
'a_v-d+gee@b.what-is.de.university'
|
||||
];
|
||||
|
||||
for (const goodEmail of goodEmails) {
|
||||
it(`isEmail returns false ${goodEmail}`, () => expect(validator.isEmail(goodEmail)).to.be(true));
|
||||
}
|
||||
|
||||
const badEmails = [
|
||||
'apple',
|
||||
'a@',
|
||||
'@b.com',
|
||||
'user name@example.com',
|
||||
'user@example#com'
|
||||
];
|
||||
|
||||
for (const badEmail of badEmails) {
|
||||
it(`isEmail returns false ${badEmail}`, () => expect(validator.isEmail(badEmail)).to.be(false));
|
||||
}
|
||||
});
|
||||
@@ -102,7 +102,7 @@ const appPasswords = require('./apppasswords.js'),
|
||||
uuid = require('uuid'),
|
||||
superagent = require('./superagent.js'),
|
||||
util = require('util'),
|
||||
validator = require('validator'),
|
||||
validator = require('./validator.js'),
|
||||
_ = require('./underscore.js');
|
||||
|
||||
const CRYPTO_SALT_SIZE = 64; // 512-bit salt
|
||||
|
||||
17
src/validator.js
Normal file
17
src/validator.js
Normal file
@@ -0,0 +1,17 @@
|
||||
'use strict';
|
||||
|
||||
exports = module.exports = {
|
||||
isEmail
|
||||
};
|
||||
|
||||
const assert = require('assert');
|
||||
|
||||
// this currently does not match: "john.doe"@example.com, user@[192.168.1.1], john.doe(comment)@example.com or 用户@例子.世界
|
||||
function isEmail(email) {
|
||||
assert.strictEqual(typeof email, 'string');
|
||||
|
||||
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
||||
|
||||
return emailRegex.test(email);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user