summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/framework/utils.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-02-21 11:27:22 +0100
committerChristophe Simonis <chs@odoo.com>2018-02-21 11:27:22 +0100
commit1512618d3e1541859ac39b9b0344360220a5bc3c (patch)
tree77b952acb0d1d37750b8d7c7f383fe69b55e809e /addons/web/static/src/js/framework/utils.js
parenteb7602c4ea6e62c8c57ccc518e71bd45f24d5631 (diff)
parente544ec8df7028e6a9ffb2c9b2a3ec64035c33bf9 (diff)
[MERGE] forward port branch 9.0 up to e544ec8df70
Diffstat (limited to 'addons/web/static/src/js/framework/utils.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 b5e812315ae..d63469ea485 100644
--- a/addons/web/static/src/js/framework/utils.js
+++ b/addons/web/static/src/js/framework/utils.js
@@ -471,6 +471,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)) {
@@ -535,6 +546,7 @@ return {
reject_after: reject_after,
delay: delay,
swap: swap,
+ is_email: is_email,
toBoolElse: toBoolElse,
async_when: async_when,
};