UNPKG

965 BJavaScriptView Raw
1/**
2* vim:set sw=2 ts=2 sts=2 ft=javascript expandtab:
3*
4* # Helpers Module
5*
6* This module contains all transversal helpers functions.
7*/
8
9module.exports = (function () {
10 'use strict';
11
12 // Dependencies
13 var ld = require('lodash');
14
15 /**
16 * ## lodash mixins
17 *
18 * Here are lodash user extensions for MyPads.
19 *
20 * ### isEmail
21 *
22 * `isEmail` checks if given string is an email or not. It takes a value and
23 * returns a boolean.
24 *
25 * For reference, used regular expression is :
26 * /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
27 */
28
29 ld.mixin({ isEmail: function (val) {
30 var rg = new RegExp(['[a-z0-9!#$%&\'*+/=?^_`{|}~-]+',
31 '(?:\\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*@(?:[a-z0-9]',
32 '(?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9]',
33 '(?:[a-z0-9-]*[a-z0-9])?'].join(''), 'i');
34 return (ld.isString(val) && rg.test(val));
35 }});
36
37}).call(this);