From f73f8fea89f225b545fc4bc7631941b032b5180f Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Fri, 11 Oct 2013 14:35:13 +0000 Subject: [PATCH] Update email regex to allow: Nathan Gray --- etemplate/inc/class.etemplate_widget_url.inc.php | 2 +- etemplate/js/et2_widget_url.js | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/etemplate/inc/class.etemplate_widget_url.inc.php b/etemplate/inc/class.etemplate_widget_url.inc.php index 29fdd41135..5308f7fd55 100644 --- a/etemplate/inc/class.etemplate_widget_url.inc.php +++ b/etemplate/inc/class.etemplate_widget_url.inc.php @@ -21,7 +21,7 @@ class etemplate_widget_url extends etemplate_widget /** * Regexes for validating */ - const EMAIL_PREG = '^[^\x00-\x20()<>@,;:\\".\[\]]+@([a-z0-9ÄÖÜäöüß](|[a-z0-9ÄÖÜäöüß_-]*[a-z0-9ÄÖÜäöüß])\.)+[a-z]{2,6}'; + const EMAIL_PREG = '^(?:[ a-z0-9!#$%&\'*+\/=?^_`{|}\(\)~-]+<)?[^\x00-\x20()<>@,;:\"\[\]]+@([a-z0-9ÄÖÜäöüß](|[a-z0-9ÄÖÜäöüß_-]*[a-z0-9ÄÖÜäöüß])\.)+[a-z]{2,6}'; /** * Validate input diff --git a/etemplate/js/et2_widget_url.js b/etemplate/js/et2_widget_url.js index c9722cca61..e092557fe7 100644 --- a/etemplate/js/et2_widget_url.js +++ b/etemplate/js/et2_widget_url.js @@ -32,7 +32,7 @@ var et2_url = et2_textbox.extend( }, // PREG for client-side validation copied from etemplate_widget_url - EMAIL_PREG: new RegExp(/^[^\x00-\x20()<>@,;:\".\[\]]+@([a-z0-9ÄÖÜäöüß](|[a-z0-9ÄÖÜäöüß_-]*[a-z0-9ÄÖÜäöüß])\.)+[a-z]{2,6}/), + EMAIL_PREG: new RegExp(/^(?:[ a-z0-9!#$%&'*+/=?^_`{|}\(\)~-]+<)?[^\x00-\x20()<>@,;:\"\[\]]+@([a-z0-9ÄÖÜäöüß](|[a-z0-9ÄÖÜäöüß_-]*[a-z0-9ÄÖÜäöüß])\.)+[a-z]{2,6}/i), /** * @memberOf et2_url */ @@ -74,7 +74,7 @@ var et2_url = et2_textbox.extend( if(this._button == null) { this._button = $j(document.createElement("a")).addClass("et2_url"); - this.getSurroundings().insertDOMNode(this._button[0]); + this.getSurroundings().insertDOMNode(this._button[0]); this.getSurroundings().update(); } this._button.removeClass("url phone email").removeAttr("href"); @@ -198,7 +198,11 @@ var et2_url = et2_textbox.extend( } break; case "url-email": - if(!e.data.EMAIL_PREG.test(value)) + if(!e.data.EMAIL_PREG.test(value) || + // If they use Text , make sure the <> match + (value.indexOf("<") > 0 && value.indexOf(">") != value.length-1) || + (value.indexOf(">") > 0 && value.indexOf("<") < 0) + ) { e.data.showMessage("Invalid email","validation_error",true); }