summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-02-21 18:09:17 +0100
committerChristophe Simonis <chs@odoo.com>2018-02-21 18:09:17 +0100
commit085ff2f9c462b8688c3f0bcefcb452b8cabb62c8 (patch)
treed599357b5357de4c6fa3f267a1ca3f0c498fccc3 /addons/web/static/src/js
parent482370d014f409417e8b771beaf2c482a16bffbf (diff)
parent8c692aac881545113049e26b8e9296de733d8807 (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.js12
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,
};