From 6d459bfa3c3a604b13b4c8ffab08596db24eb8cc Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 29 Oct 2017 10:13:57 +0100 Subject: [PATCH] Add support for fr locale. --- src/verimail.jquery.js | 8 ++++++++ src/verimail.jquery.min.js | 2 +- src/verimail.js | 8 ++++++++ src/verimail.min.js | 2 +- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/verimail.jquery.js b/src/verimail.jquery.js index 1adb9a7..c58841d 100644 --- a/src/verimail.jquery.js +++ b/src/verimail.jquery.js @@ -106,6 +106,14 @@ Verimail.Language = { domainBlocked: "Domänen %s är inte tillåten", invalidFormat: "Ogiltig e-postadress", empty: "E-postadressen är tom" + }, + fr: { + success: "L'adresse semble correcte", + typo: "Voulez-vous dire %s?", + invalidTld: "Le domaine %s n'existe pas", + domainBlocked: "Le domaine %s n'est pas autorisé", + invalidFormat: "Format d'adresse e-mail incorrect", + empty: "Adresse e-mail vide" } }; diff --git a/src/verimail.jquery.min.js b/src/verimail.jquery.min.js index ad99ab0..ec4d17d 100644 --- a/src/verimail.jquery.min.js +++ b/src/verimail.jquery.min.js @@ -1 +1 @@ -/*License: MIT. See the LICENSE-file for more information.*/var Comfirm=Comfirm||{};Comfirm.AlphaMail=Comfirm.AlphaMail||{};var Verimail=Comfirm.AlphaMail.Verimail=function(a){this.options={url:"http://jsapi.comfirm.se/verify/v1/",token:null,enforceTld:true,denyTempEmailDomains:false,language:"en",richTextMessages:true,distanceFunction:null};for(key in a){if(a.hasOwnProperty(key)){this.options[key]=a[key]}}this.setLanguage(this.options.language,"en");this.Service={};this.Service.verify=function(a,b){b(Verimail.Status.CorrectSyntax,"It looks OK!")}};Verimail.Status={MxServerDownError:-7,MissingMxRecordsError:-6,DomainError:-5,BlockedError:-4,InvalidPart:-3,SyntaxError:-2,EmptyError:-1,CorrectSyntax:0,Pending:1,EmailExists:2,EmailExistsOnSocialNetworks:3,AcceptAllPolicy:4};Verimail.Language={en:{success:"Email looks OK",typo:"Did you mean %s?",invalidTld:"Top level domain %s does not exist",domainBlocked:"Domain %s is not allowed",invalidFormat:"Email is not correctly formatted",empty:"Email is empty"},sv:{success:"E-postadressen är godkänd",typo:"Menade du %s?",invalidTld:"Toppdomänen %s existerar inte",domainBlocked:"Domänen %s är inte tillåten",invalidFormat:"Ogiltig e-postadress",empty:"E-postadressen är tom"}};Verimail.MostCommonEmailDomains={"gmail.com":null,"msn.com":null,"hotmail.com":null,"hotmail.co.uk":null,"yahoo.com":null,"yahoo.co.uk":null,"facebook.com":null,"live.com":null,"mail.com":null,"gmx.com":null,"aol.com":null,"verizon.net":null,"comcast.net":null,"googlemail.com":null,"att.net":null,"mail.com":null,"mac.com":null,"rocketmail.com":null,"ymail.com":null};Verimail.MostCommonTlds={com:null,org:null,edu:null,gov:null,uk:null,net:null,ca:null,de:null,jp:null,fr:null,au:null,us:null,ru:null,ch:null,it:null,nl:null,se:null,dk:null,no:null,es:null,mil:null};Verimail.IANARegisteredTlds={ac:null,ad:null,ae:null,aero:null,af:null,ag:null,ai:null,al:null,am:null,an:null,ao:null,aq:null,ar:null,arpa:null,as:null,asia:null,at:null,au:null,aw:null,ax:null,az:null,ba:null,bb:null,bd:null,be:null,bf:null,bg:null,bh:null,bi:null,biz:null,bj:null,bm:null,bn:null,bo:null,br:null,bs:null,bt:null,bv:null,bw:null,by:null,bz:null,ca:null,cat:null,cc:null,cd:null,cf:null,cg:null,ch:null,ci:null,ck:null,cl:null,cm:null,cn:null,co:null,com:null,coop:null,cr:null,cu:null,cv:null,cw:null,cx:null,cy:null,cz:null,de:null,dj:null,dk:null,dm:null,"do":null,dz:null,ec:null,edu:null,ee:null,eg:null,er:null,es:null,et:null,eu:null,fi:null,fj:null,fk:null,fm:null,fo:null,fr:null,ga:null,gb:null,gd:null,ge:null,gf:null,gg:null,gh:null,gi:null,gl:null,gm:null,gn:null,gov:null,gp:null,gq:null,gr:null,gs:null,gt:null,gu:null,gw:null,gy:null,hk:null,hm:null,hn:null,hr:null,ht:null,hu:null,id:null,ie:null,il:null,im:null,"in":null,info:null,"int":null,io:null,iq:null,ir:null,is:null,it:null,je:null,jm:null,jo:null,jobs:null,jp:null,ke:null,kg:null,kh:null,ki:null,km:null,kn:null,kp:null,kr:null,kw:null,ky:null,kz:null,la:null,lb:null,lc:null,li:null,lk:null,lr:null,ls:null,lt:null,lu:null,lv:null,ly:null,ma:null,mc:null,md:null,me:null,mg:null,mh:null,mil:null,mk:null,ml:null,mm:null,mn:null,mo:null,mobi:null,mp:null,mq:null,mr:null,ms:null,mt:null,mu:null,museum:null,mv:null,mw:null,mx:null,my:null,mz:null,na:null,name:null,nc:null,ne:null,net:null,nf:null,ng:null,ni:null,nl:null,no:null,np:null,nr:null,nu:null,nz:null,om:null,org:null,pa:null,pe:null,pf:null,pg:null,ph:null,pk:null,pl:null,pm:null,pn:null,post:null,pr:null,pro:null,ps:null,pt:null,pw:null,py:null,qa:null,re:null,ro:null,rs:null,ru:null,rw:null,sa:null,sb:null,sc:null,sd:null,se:null,sg:null,sh:null,si:null,sj:null,sk:null,sl:null,sm:null,sn:null,so:null,sr:null,st:null,su:null,sv:null,sx:null,sy:null,sz:null,tc:null,td:null,tel:null,tf:null,tg:null,th:null,tj:null,tk:null,tl:null,tm:null,tn:null,to:null,tp:null,tr:null,travel:null,tt:null,tv:null,tw:null,tz:null,ua:null,ug:null,uk:null,us:null,uy:null,uz:null,va:null,vc:null,ve:null,vg:null,vi:null,vn:null,vu:null,wf:null,ws:null,ye:null,yt:null,za:null,zm:null,zw:null};Verimail.TempEmailDomains={com:{mytrashmail:null,mailmetrash:null,trashymail:null,mailinator:null,mailexpire:null,temporaryinbox:null,rtrtr:null,sharklasers:null,guerrillamailblock:null,guerrillamail:null},net:{guerrillamail:null,tempemail:null},org:{guerrillamail:null,spamfree24:null,jetable:null},fr:{tempomail:null},de:{guerrillamail:null},biz:{guerrillamail:null}};Verimail.getLevenshteinDistance=function(a,b){try{b=!"0"[0]}catch(c){b=true}return function(c,d){if(c==d)return 0;if(!c.length||!d.length)return d.length||c.length;if(b){c=c.split("");d=d.split("")}var e=c.length+1,f=d.length+1,g=0,h=0,i=[[0]],j,k,l;while(++h]+)>)/ig,"")}}return a};Verimail.getEmailAddressSegments=function(a){var b="local";var c={local:"",domain:"",tld:""};for(var d=0;d"+a+""};if(!a||a.length==0||a.replace&&a.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"").replace(/\s+/g," ").length==0){c=Verimail.Status.EmptyError;d=this.getLanguageText("empty")}else if(!Verimail.testEmailFormat(a)){c=Verimail.Status.SyntaxError;d=this.getLanguageText("invalidFormat")}else{var g=Verimail.getEmailAddressSegments(a);if(this.options.denyTempEmailDomains&&g.tld in Verimail.TempEmailDomains&&g.domain in Verimail.TempEmailDomains[g.tld]){c=Verimail.Status.BlockedError;d=this.getLanguageText("domainBlocked",g.fullDomain)}else{if(this.options.enforceTld){if(!g.tld){c=Verimail.Status.InvalidPart;d=this.getLanguageText("invalidFormat")}else if(!(g.tld in Verimail.IANARegisteredTlds)){c=Verimail.Status.InvalidPart;var h=Verimail.getClosestTld(g.tld,10,this.options.distanceFunction);if(h){var i=Verimail.getClosestEmailDomain(g.domain+"."+h,.25,this.options.distanceFunction);if(i){e=g.local+"@"+i;d=this.getLanguageText("typo",g.local+"@"+f(i))}else{e=g.local+"@"+g.domain+"."+h;d=this.getLanguageText("typo",g.local+"@"+g.domain+"."+f(h))}}else{d=this.getLanguageText("invalidTld",g.tld)}}}}}if(c===null||c==Verimail.SyntaxError){var i=Verimail.getClosestEmailDomain(g.domain+"."+g.tld,.3,this.options.distanceFunction);if(i){c=Verimail.Status.CorrectSyntax;e=g.local+"@"+i;d=this.getLanguageText("typo",g.local+"@"+f(i))}else{c=Verimail.Status.CorrectSyntax;d=d||this.getLanguageText("success")}}b(c,d,e)};(function(a,b,c,d){var e=function(b,c){this.element=b;this.$element=a(b);this.options=c};e.prototype={defaults:{messageElement:null,statusElement:null,prefixName:"verimail",onStatusChange:null},init:function(){var b=this;var c=this.config=a.extend({},this.defaults,this.options);var d=this.instance=new Comfirm.AlphaMail.Verimail(this.config);var e=function(f){d.verify(f,function(d,g,h){var i="error";var j=c.statusElement?a(c.statusElement):b.$element;var k=d==Comfirm.AlphaMail.Verimail.Status.Pending;if(d>=0){i=k?"pending":"success"}if(c.onStatusChange){c.onStatusChange(c,d,g,h)}j.removeClass(c.prefixName+"-success").removeClass(c.prefixName+"-error").removeClass(c.prefixName+"-pending").addClass(c.prefixName+"-"+i);b.isPendingStatus=k;b.$element.data("verimail-status",i);if(c.messageElement){var l=a(""+g+"").addClass(i);if(h){var m=a("").attr("href","#").click(function(){f=h;b.$element.val(h);e(h);return false});a("span.suggestion",l).wrap(m)}a(c.messageElement).html(l)}})};if(this.$element.val()&&this.$element.val().length>0){e(this.$element.val())}this.$element.keyup(function(c){var d=a(this).val();if(b.timeoutId){clearTimeout(b.timeoutId)}if(b.isPendingStatus){b.timeoutId=setTimeout(function(){e(d)},500)}else{e(d)}});return this}};e.defaults=e.prototype.defaults;a.fn.verimail=function(a){return this.each(function(){(new e(this,a)).init()})};a.fn.getVerimailStatus=function(){return this.data("verimail-status")}})(jQuery,window,document); \ No newline at end of file +var Comfirm=Comfirm||{};Comfirm.AlphaMail=Comfirm.AlphaMail||{};var Verimail=Comfirm.AlphaMail.Verimail=function(l){this.options={url:"http://jsapi.comfirm.se/verify/v1/",token:null,enforceTld:!0,denyTempEmailDomains:!1,language:"en",richTextMessages:!0,distanceFunction:null};for(key in l)l.hasOwnProperty(key)&&(this.options[key]=l[key]);this.setLanguage(this.options.language,"en"),this.Service={},this.Service.verify=function(l,n){n(Verimail.Status.CorrectSyntax,"It looks OK!")}};Verimail.Status={MxServerDownError:-7,MissingMxRecordsError:-6,DomainError:-5,BlockedError:-4,InvalidPart:-3,SyntaxError:-2,EmptyError:-1,CorrectSyntax:0,Pending:1,EmailExists:2,EmailExistsOnSocialNetworks:3,AcceptAllPolicy:4},Verimail.Language={en:{success:"Email looks OK",typo:"Did you mean %s?",invalidTld:"Top level domain %s does not exist",domainBlocked:"Domain %s is not allowed",invalidFormat:"Email is not correctly formatted",empty:"Email is empty"},sv:{success:"E-postadressen är godkänd",typo:"Menade du %s?",invalidTld:"Toppdomänen %s existerar inte",domainBlocked:"Domänen %s är inte tillåten",invalidFormat:"Ogiltig e-postadress",empty:"E-postadressen är tom"},fr:{success:"L'adresse semble correcte",typo:"Voulez-vous dire %s?",invalidTld:"Le domaine %s n'existe pas",domainBlocked:"Le domaine %s n'est pas autorisé",invalidFormat:"Format d'adresse e-mail incorrect",empty:"Adresse e-mail vide"}},Verimail.MostCommonEmailDomains={"gmail.com":null,"msn.com":null,"hotmail.com":null,"hotmail.co.uk":null,"yahoo.com":null,"yahoo.co.uk":null,"facebook.com":null,"live.com":null,"mail.com":null,"gmx.com":null,"aol.com":null,"verizon.net":null,"comcast.net":null,"googlemail.com":null,"att.net":null,"mail.com":null,"mac.com":null,"rocketmail.com":null,"ymail.com":null},Verimail.MostCommonTlds={com:null,org:null,edu:null,gov:null,uk:null,net:null,ca:null,de:null,jp:null,fr:null,au:null,us:null,ru:null,ch:null,it:null,nl:null,se:null,dk:null,no:null,es:null,mil:null},Verimail.IANARegisteredTlds={ac:null,ad:null,ae:null,aero:null,af:null,ag:null,ai:null,al:null,am:null,an:null,ao:null,aq:null,ar:null,arpa:null,as:null,asia:null,at:null,au:null,aw:null,ax:null,az:null,ba:null,bb:null,bd:null,be:null,bf:null,bg:null,bh:null,bi:null,biz:null,bj:null,bm:null,bn:null,bo:null,br:null,bs:null,bt:null,bv:null,bw:null,by:null,bz:null,ca:null,cat:null,cc:null,cd:null,cf:null,cg:null,ch:null,ci:null,ck:null,cl:null,cm:null,cn:null,co:null,com:null,coop:null,cr:null,cu:null,cv:null,cw:null,cx:null,cy:null,cz:null,de:null,dj:null,dk:null,dm:null,do:null,dz:null,ec:null,edu:null,ee:null,eg:null,er:null,es:null,et:null,eu:null,fi:null,fj:null,fk:null,fm:null,fo:null,fr:null,ga:null,gb:null,gd:null,ge:null,gf:null,gg:null,gh:null,gi:null,gl:null,gm:null,gn:null,gov:null,gp:null,gq:null,gr:null,gs:null,gt:null,gu:null,gw:null,gy:null,hk:null,hm:null,hn:null,hr:null,ht:null,hu:null,id:null,ie:null,il:null,im:null,in:null,info:null,int:null,io:null,iq:null,ir:null,is:null,it:null,je:null,jm:null,jo:null,jobs:null,jp:null,ke:null,kg:null,kh:null,ki:null,km:null,kn:null,kp:null,kr:null,kw:null,ky:null,kz:null,la:null,lb:null,lc:null,li:null,lk:null,lr:null,ls:null,lt:null,lu:null,lv:null,ly:null,ma:null,mc:null,md:null,me:null,mg:null,mh:null,mil:null,mk:null,ml:null,mm:null,mn:null,mo:null,mobi:null,mp:null,mq:null,mr:null,ms:null,mt:null,mu:null,museum:null,mv:null,mw:null,mx:null,my:null,mz:null,na:null,name:null,nc:null,ne:null,net:null,nf:null,ng:null,ni:null,nl:null,no:null,np:null,nr:null,nu:null,nz:null,om:null,org:null,pa:null,pe:null,pf:null,pg:null,ph:null,pk:null,pl:null,pm:null,pn:null,post:null,pr:null,pro:null,ps:null,pt:null,pw:null,py:null,qa:null,re:null,ro:null,rs:null,ru:null,rw:null,sa:null,sb:null,sc:null,sd:null,se:null,sg:null,sh:null,si:null,sj:null,sk:null,sl:null,sm:null,sn:null,so:null,sr:null,st:null,su:null,sv:null,sx:null,sy:null,sz:null,tc:null,td:null,tel:null,tf:null,tg:null,th:null,tj:null,tk:null,tl:null,tm:null,tn:null,to:null,tp:null,tr:null,travel:null,tt:null,tv:null,tw:null,tz:null,ua:null,ug:null,uk:null,us:null,uy:null,uz:null,va:null,vc:null,ve:null,vg:null,vi:null,vn:null,vu:null,wf:null,ws:null,ye:null,yt:null,za:null,zm:null,zw:null},Verimail.TempEmailDomains={com:{mytrashmail:null,mailmetrash:null,trashymail:null,mailinator:null,mailexpire:null,temporaryinbox:null,rtrtr:null,sharklasers:null,guerrillamailblock:null,guerrillamail:null},net:{guerrillamail:null,tempemail:null},org:{guerrillamail:null,spamfree24:null,jetable:null},fr:{tempomail:null},de:{guerrillamail:null},biz:{guerrillamail:null}},Verimail.getLevenshteinDistance=function(l,n){try{n=!"0"[0]}catch(l){n=!0}return function(e,u){if(e==u)return 0;if(!e.length||!u.length)return u.length||e.length;n&&(e=e.split(""),u=u.split(""));for(var i,t,a,s=e.length+1,r=u.length+1,o=0,m=0,c=[[0]];++m]+)>)/gi,"");return l},Verimail.getEmailAddressSegments=function(l){for(var n="local",e={local:"",domain:"",tld:""},u=0;u"+l+""};if(!l||0==l.length||l.replace&&0==l.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"").replace(/\s+/g," ").length)e=Verimail.Status.EmptyError,u=this.getLanguageText("empty");else if(Verimail.testEmailFormat(l)){var a=Verimail.getEmailAddressSegments(l);if(this.options.denyTempEmailDomains&&a.tld in Verimail.TempEmailDomains&&a.domain in Verimail.TempEmailDomains[a.tld])e=Verimail.Status.BlockedError,u=this.getLanguageText("domainBlocked",a.fullDomain);else if(this.options.enforceTld)if(a.tld){if(!(a.tld in Verimail.IANARegisteredTlds)){e=Verimail.Status.InvalidPart;var s=Verimail.getClosestTld(a.tld,10,this.options.distanceFunction);if(s){var r=Verimail.getClosestEmailDomain(a.domain+"."+s,.25,this.options.distanceFunction);r?(i=a.local+"@"+r,u=this.getLanguageText("typo",a.local+"@"+t(r))):(i=a.local+"@"+a.domain+"."+s,u=this.getLanguageText("typo",a.local+"@"+a.domain+"."+t(s)))}else u=this.getLanguageText("invalidTld",a.tld)}}else e=Verimail.Status.InvalidPart,u=this.getLanguageText("invalidFormat")}else e=Verimail.Status.SyntaxError,u=this.getLanguageText("invalidFormat");if(null===e||e==Verimail.SyntaxError){var r=Verimail.getClosestEmailDomain(a.domain+"."+a.tld,.3,this.options.distanceFunction);r?(e=Verimail.Status.CorrectSyntax,i=a.local+"@"+r,u=this.getLanguageText("typo",a.local+"@"+t(r))):(e=Verimail.Status.CorrectSyntax,u=u||this.getLanguageText("success"))}n(e,u,i)},function(l,n,e,u){var i=function(n,e){this.element=n,this.$element=l(n),this.options=e};i.prototype={defaults:{messageElement:null,statusElement:null,prefixName:"verimail",onStatusChange:null},init:function(){var n=this,e=this.config=l.extend({},this.defaults,this.options),u=this.instance=new Comfirm.AlphaMail.Verimail(this.config),i=function(t){u.verify(t,function(u,a,s){var r="error",o=e.statusElement?l(e.statusElement):n.$element,m=u==Comfirm.AlphaMail.Verimail.Status.Pending;if(u>=0&&(r=m?"pending":"success"),e.onStatusChange&&e.onStatusChange(e,u,a,s),o.removeClass(e.prefixName+"-success").removeClass(e.prefixName+"-error").removeClass(e.prefixName+"-pending").addClass(e.prefixName+"-"+r),n.isPendingStatus=m,n.$element.data("verimail-status",r),e.messageElement){var c=l(""+a+"").addClass(r);if(s){var d=l("").attr("href","#").click(function(){return t=s,n.$element.val(s),i(s),!1});l("span.suggestion",c).wrap(d)}l(e.messageElement).html(c)}})};return this.$element.val()&&this.$element.val().length>0&&i(this.$element.val()),this.$element.keyup(function(e){var u=l(this).val();n.timeoutId&&clearTimeout(n.timeoutId),n.isPendingStatus?n.timeoutId=setTimeout(function(){i(u)},500):i(u)}),this}},i.defaults=i.prototype.defaults,l.fn.verimail=function(l){return this.each(function(){new i(this,l).init()})},l.fn.getVerimailStatus=function(){return this.data("verimail-status")}}(jQuery,window,document); \ No newline at end of file diff --git a/src/verimail.js b/src/verimail.js index 0d93707..d5b4e14 100644 --- a/src/verimail.js +++ b/src/verimail.js @@ -106,6 +106,14 @@ Verimail.Language = { domainBlocked: "Domänen %s är inte tillåten", invalidFormat: "Ogiltig e-postadress", empty: "E-postadressen är tom" + }, + fr: { + success: "L'adresse semble correcte", + typo: "Voulez-vous dire %s?", + invalidTld: "Le domaine %s n'existe pas", + domainBlocked: "Le domaine %s n'est pas autorisé", + invalidFormat: "Format d'adresse e-mail incorrect", + empty: "Adresse e-mail vide" } }; diff --git a/src/verimail.min.js b/src/verimail.min.js index b17b72f..99bdbd6 100644 --- a/src/verimail.min.js +++ b/src/verimail.min.js @@ -1 +1 @@ -/*License: MIT. See the LICENSE-file for more information.*/var Comfirm=Comfirm||{};Comfirm.AlphaMail=Comfirm.AlphaMail||{};var Verimail=Comfirm.AlphaMail.Verimail=function(a){this.options={url:"http://jsapi.comfirm.se/verify/v1/",token:null,enforceTld:true,denyTempEmailDomains:false,language:"en",richTextMessages:true,distanceFunction:null};for(key in a){if(a.hasOwnProperty(key)){this.options[key]=a[key]}}this.setLanguage(this.options.language,"en");this.Service={};this.Service.verify=function(a,b){b(Verimail.Status.CorrectSyntax,"It looks OK!")}};Verimail.Status={MxServerDownError:-7,MissingMxRecordsError:-6,DomainError:-5,BlockedError:-4,InvalidPart:-3,SyntaxError:-2,EmptyError:-1,CorrectSyntax:0,Pending:1,EmailExists:2,EmailExistsOnSocialNetworks:3,AcceptAllPolicy:4};Verimail.Language={en:{success:"Email looks OK",typo:"Did you mean %s?",invalidTld:"Top level domain %s does not exist",domainBlocked:"Domain %s is not allowed",invalidFormat:"Email is not correctly formatted",empty:"Email is empty"},sv:{success:"E-postadressen är godkänd",typo:"Menade du %s?",invalidTld:"Toppdomänen %s existerar inte",domainBlocked:"Domänen %s är inte tillåten",invalidFormat:"Ogiltig e-postadress",empty:"E-postadressen är tom"}};Verimail.MostCommonEmailDomains={"gmail.com":null,"msn.com":null,"hotmail.com":null,"hotmail.co.uk":null,"yahoo.com":null,"yahoo.co.uk":null,"facebook.com":null,"live.com":null,"mail.com":null,"gmx.com":null,"aol.com":null,"verizon.net":null,"comcast.net":null,"googlemail.com":null,"att.net":null,"mail.com":null,"mac.com":null,"rocketmail.com":null,"ymail.com":null};Verimail.MostCommonTlds={com:null,org:null,edu:null,gov:null,uk:null,net:null,ca:null,de:null,jp:null,fr:null,au:null,us:null,ru:null,ch:null,it:null,nl:null,se:null,dk:null,no:null,es:null,mil:null};Verimail.IANARegisteredTlds={ac:null,ad:null,ae:null,aero:null,af:null,ag:null,ai:null,al:null,am:null,an:null,ao:null,aq:null,ar:null,arpa:null,as:null,asia:null,at:null,au:null,aw:null,ax:null,az:null,ba:null,bb:null,bd:null,be:null,bf:null,bg:null,bh:null,bi:null,biz:null,bj:null,bm:null,bn:null,bo:null,br:null,bs:null,bt:null,bv:null,bw:null,by:null,bz:null,ca:null,cat:null,cc:null,cd:null,cf:null,cg:null,ch:null,ci:null,ck:null,cl:null,cm:null,cn:null,co:null,com:null,coop:null,cr:null,cu:null,cv:null,cw:null,cx:null,cy:null,cz:null,de:null,dj:null,dk:null,dm:null,"do":null,dz:null,ec:null,edu:null,ee:null,eg:null,er:null,es:null,et:null,eu:null,fi:null,fj:null,fk:null,fm:null,fo:null,fr:null,ga:null,gb:null,gd:null,ge:null,gf:null,gg:null,gh:null,gi:null,gl:null,gm:null,gn:null,gov:null,gp:null,gq:null,gr:null,gs:null,gt:null,gu:null,gw:null,gy:null,hk:null,hm:null,hn:null,hr:null,ht:null,hu:null,id:null,ie:null,il:null,im:null,"in":null,info:null,"int":null,io:null,iq:null,ir:null,is:null,it:null,je:null,jm:null,jo:null,jobs:null,jp:null,ke:null,kg:null,kh:null,ki:null,km:null,kn:null,kp:null,kr:null,kw:null,ky:null,kz:null,la:null,lb:null,lc:null,li:null,lk:null,lr:null,ls:null,lt:null,lu:null,lv:null,ly:null,ma:null,mc:null,md:null,me:null,mg:null,mh:null,mil:null,mk:null,ml:null,mm:null,mn:null,mo:null,mobi:null,mp:null,mq:null,mr:null,ms:null,mt:null,mu:null,museum:null,mv:null,mw:null,mx:null,my:null,mz:null,na:null,name:null,nc:null,ne:null,net:null,nf:null,ng:null,ni:null,nl:null,no:null,np:null,nr:null,nu:null,nz:null,om:null,org:null,pa:null,pe:null,pf:null,pg:null,ph:null,pk:null,pl:null,pm:null,pn:null,post:null,pr:null,pro:null,ps:null,pt:null,pw:null,py:null,qa:null,re:null,ro:null,rs:null,ru:null,rw:null,sa:null,sb:null,sc:null,sd:null,se:null,sg:null,sh:null,si:null,sj:null,sk:null,sl:null,sm:null,sn:null,so:null,sr:null,st:null,su:null,sv:null,sx:null,sy:null,sz:null,tc:null,td:null,tel:null,tf:null,tg:null,th:null,tj:null,tk:null,tl:null,tm:null,tn:null,to:null,tp:null,tr:null,travel:null,tt:null,tv:null,tw:null,tz:null,ua:null,ug:null,uk:null,us:null,uy:null,uz:null,va:null,vc:null,ve:null,vg:null,vi:null,vn:null,vu:null,wf:null,ws:null,ye:null,yt:null,za:null,zm:null,zw:null};Verimail.TempEmailDomains={com:{mytrashmail:null,mailmetrash:null,trashymail:null,mailinator:null,mailexpire:null,temporaryinbox:null,rtrtr:null,sharklasers:null,guerrillamailblock:null,guerrillamail:null},net:{guerrillamail:null,tempemail:null},org:{guerrillamail:null,spamfree24:null,jetable:null},fr:{tempomail:null},de:{guerrillamail:null},biz:{guerrillamail:null}};Verimail.getLevenshteinDistance=function(a,b){try{b=!"0"[0]}catch(c){b=true}return function(c,d){if(c==d)return 0;if(!c.length||!d.length)return d.length||c.length;if(b){c=c.split("");d=d.split("")}var e=c.length+1,f=d.length+1,g=0,h=0,i=[[0]],j,k,l;while(++h]+)>)/ig,"")}}return a};Verimail.getEmailAddressSegments=function(a){var b="local";var c={local:"",domain:"",tld:""};for(var d=0;d"+a+""};if(!a||a.length==0||a.replace&&a.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"").replace(/\s+/g," ").length==0){c=Verimail.Status.EmptyError;d=this.getLanguageText("empty")}else if(!Verimail.testEmailFormat(a)){c=Verimail.Status.SyntaxError;d=this.getLanguageText("invalidFormat")}else{var g=Verimail.getEmailAddressSegments(a);if(this.options.denyTempEmailDomains&&g.tld in Verimail.TempEmailDomains&&g.domain in Verimail.TempEmailDomains[g.tld]){c=Verimail.Status.BlockedError;d=this.getLanguageText("domainBlocked",g.fullDomain)}else{if(this.options.enforceTld){if(!g.tld){c=Verimail.Status.InvalidPart;d=this.getLanguageText("invalidFormat")}else if(!(g.tld in Verimail.IANARegisteredTlds)){c=Verimail.Status.InvalidPart;var h=Verimail.getClosestTld(g.tld,10,this.options.distanceFunction);if(h){var i=Verimail.getClosestEmailDomain(g.domain+"."+h,.25,this.options.distanceFunction);if(i){e=g.local+"@"+i;d=this.getLanguageText("typo",g.local+"@"+f(i))}else{e=g.local+"@"+g.domain+"."+h;d=this.getLanguageText("typo",g.local+"@"+g.domain+"."+f(h))}}else{d=this.getLanguageText("invalidTld",g.tld)}}}}}if(c===null||c==Verimail.SyntaxError){var i=Verimail.getClosestEmailDomain(g.domain+"."+g.tld,.3,this.options.distanceFunction);if(i){c=Verimail.Status.CorrectSyntax;e=g.local+"@"+i;d=this.getLanguageText("typo",g.local+"@"+f(i))}else{c=Verimail.Status.CorrectSyntax;d=d||this.getLanguageText("success")}}b(c,d,e)}; \ No newline at end of file +var Comfirm=Comfirm||{};Comfirm.AlphaMail=Comfirm.AlphaMail||{};var Verimail=Comfirm.AlphaMail.Verimail=function(l){this.options={url:"http://jsapi.comfirm.se/verify/v1/",token:null,enforceTld:!0,denyTempEmailDomains:!1,language:"en",richTextMessages:!0,distanceFunction:null};for(key in l)l.hasOwnProperty(key)&&(this.options[key]=l[key]);this.setLanguage(this.options.language,"en"),this.Service={},this.Service.verify=function(l,n){n(Verimail.Status.CorrectSyntax,"It looks OK!")}};Verimail.Status={MxServerDownError:-7,MissingMxRecordsError:-6,DomainError:-5,BlockedError:-4,InvalidPart:-3,SyntaxError:-2,EmptyError:-1,CorrectSyntax:0,Pending:1,EmailExists:2,EmailExistsOnSocialNetworks:3,AcceptAllPolicy:4},Verimail.Language={en:{success:"Email looks OK",typo:"Did you mean %s?",invalidTld:"Top level domain %s does not exist",domainBlocked:"Domain %s is not allowed",invalidFormat:"Email is not correctly formatted",empty:"Email is empty"},sv:{success:"E-postadressen är godkänd",typo:"Menade du %s?",invalidTld:"Toppdomänen %s existerar inte",domainBlocked:"Domänen %s är inte tillåten",invalidFormat:"Ogiltig e-postadress",empty:"E-postadressen är tom"},fr:{success:"L'adresse semble correcte",typo:"Voulez-vous dire %s?",invalidTld:"Le domaine %s n'existe pas",domainBlocked:"Le domaine %s n'est pas autorisé",invalidFormat:"Format d'adresse e-mail incorrect",empty:"Adresse e-mail vide"}},Verimail.MostCommonEmailDomains={"gmail.com":null,"msn.com":null,"hotmail.com":null,"hotmail.co.uk":null,"yahoo.com":null,"yahoo.co.uk":null,"facebook.com":null,"live.com":null,"mail.com":null,"gmx.com":null,"aol.com":null,"verizon.net":null,"comcast.net":null,"googlemail.com":null,"att.net":null,"mail.com":null,"mac.com":null,"rocketmail.com":null,"ymail.com":null},Verimail.MostCommonTlds={com:null,org:null,edu:null,gov:null,uk:null,net:null,ca:null,de:null,jp:null,fr:null,au:null,us:null,ru:null,ch:null,it:null,nl:null,se:null,dk:null,no:null,es:null,mil:null},Verimail.IANARegisteredTlds={ac:null,ad:null,ae:null,aero:null,af:null,ag:null,ai:null,al:null,am:null,an:null,ao:null,aq:null,ar:null,arpa:null,as:null,asia:null,at:null,au:null,aw:null,ax:null,az:null,ba:null,bb:null,bd:null,be:null,bf:null,bg:null,bh:null,bi:null,biz:null,bj:null,bm:null,bn:null,bo:null,br:null,bs:null,bt:null,bv:null,bw:null,by:null,bz:null,ca:null,cat:null,cc:null,cd:null,cf:null,cg:null,ch:null,ci:null,ck:null,cl:null,cm:null,cn:null,co:null,com:null,coop:null,cr:null,cu:null,cv:null,cw:null,cx:null,cy:null,cz:null,de:null,dj:null,dk:null,dm:null,do:null,dz:null,ec:null,edu:null,ee:null,eg:null,er:null,es:null,et:null,eu:null,fi:null,fj:null,fk:null,fm:null,fo:null,fr:null,ga:null,gb:null,gd:null,ge:null,gf:null,gg:null,gh:null,gi:null,gl:null,gm:null,gn:null,gov:null,gp:null,gq:null,gr:null,gs:null,gt:null,gu:null,gw:null,gy:null,hk:null,hm:null,hn:null,hr:null,ht:null,hu:null,id:null,ie:null,il:null,im:null,in:null,info:null,int:null,io:null,iq:null,ir:null,is:null,it:null,je:null,jm:null,jo:null,jobs:null,jp:null,ke:null,kg:null,kh:null,ki:null,km:null,kn:null,kp:null,kr:null,kw:null,ky:null,kz:null,la:null,lb:null,lc:null,li:null,lk:null,lr:null,ls:null,lt:null,lu:null,lv:null,ly:null,ma:null,mc:null,md:null,me:null,mg:null,mh:null,mil:null,mk:null,ml:null,mm:null,mn:null,mo:null,mobi:null,mp:null,mq:null,mr:null,ms:null,mt:null,mu:null,museum:null,mv:null,mw:null,mx:null,my:null,mz:null,na:null,name:null,nc:null,ne:null,net:null,nf:null,ng:null,ni:null,nl:null,no:null,np:null,nr:null,nu:null,nz:null,om:null,org:null,pa:null,pe:null,pf:null,pg:null,ph:null,pk:null,pl:null,pm:null,pn:null,post:null,pr:null,pro:null,ps:null,pt:null,pw:null,py:null,qa:null,re:null,ro:null,rs:null,ru:null,rw:null,sa:null,sb:null,sc:null,sd:null,se:null,sg:null,sh:null,si:null,sj:null,sk:null,sl:null,sm:null,sn:null,so:null,sr:null,st:null,su:null,sv:null,sx:null,sy:null,sz:null,tc:null,td:null,tel:null,tf:null,tg:null,th:null,tj:null,tk:null,tl:null,tm:null,tn:null,to:null,tp:null,tr:null,travel:null,tt:null,tv:null,tw:null,tz:null,ua:null,ug:null,uk:null,us:null,uy:null,uz:null,va:null,vc:null,ve:null,vg:null,vi:null,vn:null,vu:null,wf:null,ws:null,ye:null,yt:null,za:null,zm:null,zw:null},Verimail.TempEmailDomains={com:{mytrashmail:null,mailmetrash:null,trashymail:null,mailinator:null,mailexpire:null,temporaryinbox:null,rtrtr:null,sharklasers:null,guerrillamailblock:null,guerrillamail:null},net:{guerrillamail:null,tempemail:null},org:{guerrillamail:null,spamfree24:null,jetable:null},fr:{tempomail:null},de:{guerrillamail:null},biz:{guerrillamail:null}},Verimail.getLevenshteinDistance=function(l,n){try{n=!"0"[0]}catch(l){n=!0}return function(u,e){if(u==e)return 0;if(!u.length||!e.length)return e.length||u.length;n&&(u=u.split(""),e=e.split(""));for(var i,a,t,s=u.length+1,o=e.length+1,r=0,m=0,c=[[0]];++m]+)>)/gi,"");return l},Verimail.getEmailAddressSegments=function(l){for(var n="local",u={local:"",domain:"",tld:""},e=0;e"+l+""};if(!l||0==l.length||l.replace&&0==l.replace(/(?:(?:^|\n)\s+|\s+(?:$|\n))/g,"").replace(/\s+/g," ").length)u=Verimail.Status.EmptyError,e=this.getLanguageText("empty");else if(Verimail.testEmailFormat(l)){var t=Verimail.getEmailAddressSegments(l);if(this.options.denyTempEmailDomains&&t.tld in Verimail.TempEmailDomains&&t.domain in Verimail.TempEmailDomains[t.tld])u=Verimail.Status.BlockedError,e=this.getLanguageText("domainBlocked",t.fullDomain);else if(this.options.enforceTld)if(t.tld){if(!(t.tld in Verimail.IANARegisteredTlds)){u=Verimail.Status.InvalidPart;var s=Verimail.getClosestTld(t.tld,10,this.options.distanceFunction);if(s){var o=Verimail.getClosestEmailDomain(t.domain+"."+s,.25,this.options.distanceFunction);o?(i=t.local+"@"+o,e=this.getLanguageText("typo",t.local+"@"+a(o))):(i=t.local+"@"+t.domain+"."+s,e=this.getLanguageText("typo",t.local+"@"+t.domain+"."+a(s)))}else e=this.getLanguageText("invalidTld",t.tld)}}else u=Verimail.Status.InvalidPart,e=this.getLanguageText("invalidFormat")}else u=Verimail.Status.SyntaxError,e=this.getLanguageText("invalidFormat");if(null===u||u==Verimail.SyntaxError){var o=Verimail.getClosestEmailDomain(t.domain+"."+t.tld,.3,this.options.distanceFunction);o?(u=Verimail.Status.CorrectSyntax,i=t.local+"@"+o,e=this.getLanguageText("typo",t.local+"@"+a(o))):(u=Verimail.Status.CorrectSyntax,e=e||this.getLanguageText("success"))}n(u,e,i)}; \ No newline at end of file