anchor.diff:  
   -module(validator_base_email).
   -include("zotonic.hrl").
  --export([render_validator/5, validate/5]).
  +-export([render_validator/5, validate/5, re/0]).
   
   render_validator(email, TriggerId, _TargetId, Args, Context)  ->
   	JsObject = z_utils:js_object(z_validation:rename_args(Args)), 
  
positive.code: 
  
  re() ->
      "^(
              (\"[^\"\\f\\n\\r\\t\\v\\b]+\")
          |   ([\\w\\!\\#\\$\\%\\&\'\\*\\+\\-\\~\\/\\^\\`\\|\\{\\}]+
                  (\\.[\\w\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\^\`\\|\\{\\}]+)*
  
negative.code:     case z_string:trim(Value) of
          [] -> {{ok, []}, Context};
          Trimmed ->
              case re:run(Trimmed, [$^|re()]++"$", [extended]) of
                  nomatch   -> {{error, Id, invalid}, Context};
                  {match,_} -> {{ok, Trimmed}, Context}
              end
  