diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-02-21 18:09:17 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-02-21 18:09:17 +0100 |
| commit | 085ff2f9c462b8688c3f0bcefcb452b8cabb62c8 (patch) | |
| tree | d599357b5357de4c6fa3f267a1ca3f0c498fccc3 /addons/web/static/src/js | |
| parent | 482370d014f409417e8b771beaf2c482a16bffbf (diff) | |
| parent | 8c692aac881545113049e26b8e9296de733d8807 (diff) | |
[MERGE] forward port branch saas-14 up to 8c692aac881
Diffstat (limited to 'addons/web/static/src/js')
| -rw-r--r-- | addons/web/static/src/js/framework/utils.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/addons/web/static/src/js/framework/utils.js b/addons/web/static/src/js/framework/utils.js index 45dda977dc8..fe6de0e2df2 100644 --- a/addons/web/static/src/js/framework/utils.js +++ b/addons/web/static/src/js/framework/utils.js @@ -504,6 +504,17 @@ function swap(array, elem1, elem2) { array[i1] = elem2; } +function is_email(value, allow_mailto) { + // http://stackoverflow.com/questions/46155/validate-email-address-in-javascript + var re; + if (allow_mailto) { + re = /^(mailto:)?(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; + } else { + re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i; + } + return re.test(value); +} + function toBoolElse (str, elseValues, trueValues, falseValues) { var ret = _.str.toBool(str, trueValues, falseValues); if (_.isUndefined(ret)) { @@ -569,6 +580,7 @@ return { reject_after: reject_after, delay: delay, swap: swap, + is_email: is_email, toBoolElse: toBoolElse, async_when: async_when, }; |
