From bc0bf3b6a89fe95eda63454c6cc276d6be040c62 Mon Sep 17 00:00:00 2001 From: Mikhail Fedosov Date: Fri, 15 Mar 2013 16:39:58 +0400 Subject: fix #42: Email has invalid characters --- lib/helpers.js | 5 +++++ lib/internet.js | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/helpers.js b/lib/helpers.js index 1638a9ff..750155c5 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -10,6 +10,11 @@ exports.randomize = function (array) { return Faker.random.array_element(array); }; +// slugifies string +exports.slugify = function (string) { + return string.replace(/ /g, '-').replace(/[^\w\.\-]+/g, ''); +}; + // parses string for a symbol and replace it with a random number from 1-10 exports.replaceSymbolWithNumber = function (string, symbol) { // default symbol is '#' diff --git a/lib/internet.js b/lib/internet.js index e08308d0..898769de 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -2,16 +2,20 @@ var Faker = require('../index'); var internet = { email: function () { - return this.userName() + "@" + this.domainName(); + return Faker.Helpers.slugify(this.userName()) + "@" + Faker.Helpers.slugify(this.domainName()); }, userName: function () { + var result; switch (Faker.random.number(2)) { case 0: - return Faker.random.first_name(); + result = Faker.random.first_name(); + break; case 1: - return Faker.random.first_name() + Faker.random.array_element([".", "_"]) + Faker.random.last_name(); + result = Faker.random.first_name() + Faker.random.array_element([".", "_"]) + Faker.random.last_name(); + break; } + return result; }, domainName: function () { -- cgit v1.2.3