At 12:58 12/6/2010, W. D. wrote:
>At 12:30 12/6/2010, Ross Dickson wrote:
>>WD,
>>
>>One way is to create several calculated fields, each comprising one
>of the criteria.
>>So, you have the following fields:
Thanks for your help, Ross.
Here's what I came up with. Hope it saves someone
some time & effort:
// Much of this is based on following links and other
// FileMaker code:
//
// <http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx>
//
// <http://www.regular-expressions.info/email.html>
//
// <http://www.google.com/search?q=RFC+2822>
Field Name Field Type Formula / Entry Option
SerialRecordNum Number Serial Number with Current
Value: "1" Increment: "1"
Prevent data that is
automatically entered from
being changed. Do not allow
user to override validation
Unique values only Strict
data type: "Numeric Only"
SortIndex Number Serial Number with Current
Value: "1" Increment: "1"
Do not allow user to override
validation Unique values only
Strict data type: "Numeric
Only" Indexed
CreationDate Date Auto-enter the: "Creation Date"
Prevent data that is
automatically entered from being
changed. Required value
CreationTime Time Auto-enter the: "Creation Time"
Prevent data that is
automatically entered from being
changed.
CreationPerson Text Auto-enter the: "Creator Name"
Prevent data that is
automatically entered from being
changed.
ModifyDate Date Auto-enter the: "Modification
Date"
Indexed
ModifyTime Time Auto-enter the: "Modification
Time"
ModifyPerson Text Auto-enter the: "Modifier Name"
EmailAddress Text Indexed
EmailLength Calculation (Number)
= Length(EmailAddress)
LeftPart Calculation (Text) Indexed
= Left(EmailAddress,(Position(
EmailAddress,"@",1,1) -1))
RightPart Calculation (Text) Indexed
= Right(EmailAddress,(
EmailLength-Position(
EmailAddress,"@",1,1)))
TopLevelDomain Calculation (Text) Indexed
= MiddleWords(Substitute(Middle(
EmailAddress, Position(EmailAddress,
"@", 1, 1)+1, EmailLength),"."," "),
WordCount(Substitute(Middle(
EmailAddress,Position(EmailAddress,
"@", 1, 1)+1,EmailLength),"."," ")),
1)
TLDUpper Calculation (Text)
= Upper(TopLevelDomain)
TLDplusDot Calculation (Text)
= "." & TLDUpper
TLDLower Calculation (Text)
= Lower(TopLevelDomain)
DomainName Calculation (Text) Indexed
= If( WordCount(Substitute(Middle(
EmailAddress,Position(EmailAddress,
"@", 1, 1)+1, EmailLength),"."," "
))>=2, MiddleWords( Substitute(Middle(
EmailAddress, Position( EmailAddress,
"@", 1, 1)+1, EmailLength),"."," "),
WordCount(Substitute(Middle(
EmailAddress, Position( EmailAddress,
"@", 1, 1)+1, EmailLength),"."," "))-1,
1) & ".", "") & MiddleWords(Substitute(
Middle( EmailAddress, Position(
EmailAddress, "@", 1, 1)+1, EmailLength),
"."," "), WordCount(Substitute(Middle(
EmailAddress, Position(EmailAddress,
"@", 1, 1)+1, EmailLength),"."," ")), 1)
DomainNmUpper Calculation (Text) Indexed
= Upper(DomainName)
LeftPartUpper Calculation (Text) Indexed
= Upper(LeftPart)
NumberOfSpaces Calculation (Number) Indexed
= PatternCount(EmailAddress, " " )
NumberOfDoubleDots Calculation (Number) Indexed
= PatternCount(EmailAddress, ".." )
NumberOfATs Calculation (Number) Indexed
= PatternCount(EmailAddress, "@" )
NumberOfDotATs Calculation (Number) Indexed
= PatternCount(EmailAddress, ".@" )
NumberOfATDots Calculation (Number) Indexed
= PatternCount(EmailAddress, "@." )
TLDisOnList1 Calculation (Text)
= Case(
TLDUpper="AC","TRUE",
TLDUpper="AD","TRUE",
TLDUpper="AE","TRUE",
TLDUpper="AERO","TRUE",
TLDUpper="AF","TRUE",
TLDUpper="AG","TRUE",
TLDUpper="AI","TRUE",
TLDUpper="AL","TRUE",
TLDUpper="AM","TRUE",
TLDUpper="AN","TRUE",
TLDUpper="AO","TRUE",
TLDUpper="AQ","TRUE",
TLDUpper="AR","TRUE",
TLDUpper="ARPA","TRUE",
TLDUpper="AS","TRUE",
TLDUpper="ASIA","TRUE",
TLDUpper="AT","TRUE",
TLDUpper="AU","TRUE",
TLDUpper="AW","TRUE",
TLDUpper="AX","TRUE",
TLDUpper="AZ","TRUE",
TLDUpper="BA","TRUE",
TLDUpper="BB","TRUE",
TLDUpper="BD","TRUE",
TLDUpper="BE","TRUE",
TLDUpper="BF","TRUE",
TLDUpper="BG","TRUE",
TLDUpper="BH","TRUE",
TLDUpper="BI","TRUE",
TLDUpper="BIZ","TRUE",
TLDUpper="BJ","TRUE",
TLDUpper="BM","TRUE",
TLDUpper="BN","TRUE",
TLDUpper="BO","TRUE",
TLDUpper="BR","TRUE",
TLDUpper="BS","TRUE",
TLDUpper="BT","TRUE",
TLDUpper="BV","TRUE",
TLDUpper="BW","TRUE",
TLDUpper="BY","TRUE",
TLDUpper="BZ","TRUE",
TLDUpper="CA","TRUE",
TLDUpper="CAT","TRUE",
TLDUpper="CC","TRUE",
TLDUpper="CD","TRUE",
TLDUpper="CF","TRUE",
TLDUpper="CG","TRUE",
TLDUpper="CH","TRUE",
TLDUpper="CI","TRUE",
"FALSE"
)
TLDisOnList2 Calculation (Text)
= Case(
TLDUpper="CK","TRUE",
TLDUpper="CL","TRUE",
TLDUpper="CM","TRUE",
TLDUpper="CN","TRUE",
TLDUpper="CO","TRUE",
TLDUpper="COM","TRUE",
TLDUpper="COOP","TRUE",
TLDUpper="CR","TRUE",
TLDUpper="CU","TRUE",
TLDUpper="CV","TRUE",
TLDUpper="CX","TRUE",
TLDUpper="CY","TRUE",
TLDUpper="CZ","TRUE",
TLDUpper="DE","TRUE",
TLDUpper="DJ","TRUE",
TLDUpper="DK","TRUE",
TLDUpper="DM","TRUE",
TLDUpper="DO","TRUE",
TLDUpper="DZ","TRUE",
TLDUpper="EC","TRUE",
TLDUpper="EDU","TRUE",
TLDUpper="EE","TRUE",
TLDUpper="EG","TRUE",
TLDUpper="ER","TRUE",
TLDUpper="ES","TRUE",
TLDUpper="ET","TRUE",
TLDUpper="EU","TRUE",
TLDUpper="FI","TRUE",
TLDUpper="FJ","TRUE",
TLDUpper="FK","TRUE",
TLDUpper="FM","TRUE",
TLDUpper="FO","TRUE",
TLDUpper="FR","TRUE",
TLDUpper="GA","TRUE",
TLDUpper="GB","TRUE",
TLDUpper="GD","TRUE",
TLDUpper="GE","TRUE",
TLDUpper="GF","TRUE",
TLDUpper="GG","TRUE",
TLDUpper="GH","TRUE",
TLDUpper="GI","TRUE",
TLDUpper="GL","TRUE",
TLDUpper="GM","TRUE",
TLDUpper="GN","TRUE",
TLDUpper="GOV","TRUE",
TLDUpper="GP","TRUE",
TLDUpper="GQ","TRUE",
TLDUpper="GR","TRUE",
"FALSE"
)
TLDisOnList3 Calculation (Text)
= Case(
TLDUpper="GS","TRUE",
TLDUpper="GT","TRUE",
TLDUpper="GU","TRUE",
TLDUpper="GW","TRUE",
TLDUpper="GY","TRUE",
TLDUpper="HK","TRUE",
TLDUpper="HM","TRUE",
TLDUpper="HN","TRUE",
TLDUpper="HR","TRUE",
TLDUpper="HT","TRUE",
TLDUpper="HU","TRUE",
TLDUpper="ID","TRUE",
TLDUpper="IE","TRUE",
TLDUpper="IL","TRUE",
TLDUpper="IM","TRUE",
TLDUpper="IN","TRUE",
TLDUpper="INFO","TRUE",
TLDUpper="INT","TRUE",
TLDUpper="IO","TRUE",
TLDUpper="IQ","TRUE",
TLDUpper="IR","TRUE",
TLDUpper="IS","TRUE",
TLDUpper="IT","TRUE",
TLDUpper="JE","TRUE",
TLDUpper="JM","TRUE",
TLDUpper="JO","TRUE",
TLDUpper="JOBS","TRUE",
TLDUpper="JP","TRUE",
TLDUpper="KE","TRUE",
TLDUpper="KG","TRUE",
TLDUpper="KH","TRUE",
TLDUpper="KI","TRUE",
TLDUpper="KM","TRUE",
TLDUpper="KN","TRUE",
TLDUpper="KP","TRUE",
TLDUpper="KR","TRUE",
TLDUpper="KW","TRUE",
TLDUpper="KY","TRUE",
TLDUpper="KZ","TRUE",
TLDUpper="LA","TRUE",
TLDUpper="LB","TRUE",
TLDUpper="LC","TRUE",
TLDUpper="LI","TRUE",
TLDUpper="LK","TRUE",
TLDUpper="LR","TRUE",
TLDUpper="LS","TRUE",
TLDUpper="LT","TRUE",
TLDUpper="LU","TRUE",
TLDUpper="LV","TRUE",
TLDUpper="LY","TRUE",
"FALSE"
)
TLDisOnList4 Calculation (Text)
= Case(
TLDUpper="MA","TRUE",
TLDUpper="MC","TRUE",
TLDUpper="MD","TRUE",
TLDUpper="ME","TRUE",
TLDUpper="MG","TRUE",
TLDUpper="MH","TRUE",
TLDUpper="MIL","TRUE",
TLDUpper="MK","TRUE",
TLDUpper="ML","TRUE",
TLDUpper="MM","TRUE",
TLDUpper="MN","TRUE",
TLDUpper="MO","TRUE",
TLDUpper="MOBI","TRUE",
TLDUpper="MP","TRUE",
TLDUpper="MQ","TRUE",
TLDUpper="MR","TRUE",
TLDUpper="MS","TRUE",
TLDUpper="MT","TRUE",
TLDUpper="MU","TRUE",
TLDUpper="MUSEUM","TRUE",
TLDUpper="MV","TRUE",
TLDUpper="MW","TRUE",
TLDUpper="MX","TRUE",
TLDUpper="MY","TRUE",
TLDUpper="MZ","TRUE",
TLDUpper="NA","TRUE",
TLDUpper="NAME","TRUE",
TLDUpper="NC","TRUE",
TLDUpper="NE","TRUE",
TLDUpper="NET","TRUE",
TLDUpper="NF","TRUE",
TLDUpper="NG","TRUE",
TLDUpper="NI","TRUE",
TLDUpper="NL","TRUE",
TLDUpper="NO","TRUE",
TLDUpper="NP","TRUE",
TLDUpper="NR","TRUE",
TLDUpper="NU","TRUE",
TLDUpper="NZ","TRUE",
TLDUpper="OM","TRUE",
TLDUpper="ORG","TRUE",
TLDUpper="PA","TRUE",
TLDUpper="PE","TRUE",
TLDUpper="PF","TRUE",
TLDUpper="PG","TRUE",
TLDUpper="PH","TRUE",
TLDUpper="PK","TRUE",
TLDUpper="PL","TRUE",
TLDUpper="PM","TRUE",
TLDUpper="PN","TRUE",
"FALSE"
)
TLDisOnList5 Calculation (Text)
= Case(
TLDUpper="PR","TRUE",
TLDUpper="PRO","TRUE",
TLDUpper="PS","TRUE",
TLDUpper="PT","TRUE",
TLDUpper="PW","TRUE",
TLDUpper="PY","TRUE",
TLDUpper="QA","TRUE",
TLDUpper="RE","TRUE",
TLDUpper="RO","TRUE",
TLDUpper="RS","TRUE",
TLDUpper="RU","TRUE",
TLDUpper="RW","TRUE",
TLDUpper="SA","TRUE",
TLDUpper="SB","TRUE",
TLDUpper="SC","TRUE",
TLDUpper="SD","TRUE",
TLDUpper="SE","TRUE",
TLDUpper="SG","TRUE",
TLDUpper="SH","TRUE",
TLDUpper="SI","TRUE",
TLDUpper="SJ","TRUE",
TLDUpper="SK","TRUE",
TLDUpper="SL","TRUE",
TLDUpper="SM","TRUE",
TLDUpper="SN","TRUE",
TLDUpper="SO","TRUE",
TLDUpper="SR","TRUE",
TLDUpper="ST","TRUE",
TLDUpper="SU","TRUE",
TLDUpper="SV","TRUE",
TLDUpper="SY","TRUE",
TLDUpper="SZ","TRUE",
TLDUpper="TC","TRUE",
TLDUpper="TD","TRUE",
TLDUpper="TEL","TRUE",
TLDUpper="TF","TRUE",
TLDUpper="TG","TRUE",
TLDUpper="TH","TRUE",
TLDUpper="TJ","TRUE",
TLDUpper="TK","TRUE",
TLDUpper="TL","TRUE",
TLDUpper="TM","TRUE",
TLDUpper="TN","TRUE",
TLDUpper="TO","TRUE",
TLDUpper="TP","TRUE",
TLDUpper="TR","TRUE",
TLDUpper="TRAVEL","TRUE",
TLDUpper="TT","TRUE",
TLDUpper="TV","TRUE",
TLDUpper="TW","TRUE",
"FALSE"
)
TLDisOnList6 Calculation (Text)
= Case(
TLDUpper="TZ","TRUE",
TLDUpper="UA","TRUE",
TLDUpper="UG","TRUE",
TLDUpper="UK","TRUE",
TLDUpper="US","TRUE",
TLDUpper="UY","TRUE",
TLDUpper="UZ","TRUE",
TLDUpper="VA","TRUE",
TLDUpper="VC","TRUE",
TLDUpper="VE","TRUE",
TLDUpper="VG","TRUE",
TLDUpper="VI","TRUE",
TLDUpper="VN","TRUE",
TLDUpper="VU","TRUE",
TLDUpper="WF","TRUE",
TLDUpper="WS","TRUE",
TLDUpper="XN--0ZWM56D","TRUE",
TLDUpper="XN--11B5BS3A9AJ6G","TRUE",
TLDUpper="XN--3E0B707E","TRUE",
TLDUpper="XN--45BRJ9C","TRUE",
TLDUpper="XN--80AKHBYKNJ4F","TRUE",
TLDUpper="XN--9T4B11YI5A","TRUE",
TLDUpper="XN--DEBA0AD","TRUE",
TLDUpper="XN--FIQS8S","TRUE",
TLDUpper="XN--FIQZ9S","TRUE",
TLDUpper="XN--FPCRJ9C3D","TRUE",
TLDUpper="XN--FZC2C9E2C","TRUE",
TLDUpper="XN--G6W251D","TRUE",
TLDUpper="XN--GECRJ9C","TRUE",
TLDUpper="XN--H2BRJ9C","TRUE",
TLDUpper="XN--HGBK6AJ7F53BBA","TRUE",
TLDUpper="XN--HLCJ6AYA9ESC7A","TRUE",
TLDUpper="XN--J6W193G","TRUE",
TLDUpper="XN--JXALPDLP","TRUE",
TLDUpper="XN--KGBECHTV","TRUE",
TLDUpper="XN--KPRW13D","TRUE",
TLDUpper="XN--KPRY57D","TRUE",
TLDUpper="XN--MGBAAM7A8H","TRUE",
TLDUpper="XN--MGBAYH7GPA","TRUE",
TLDUpper="XN--MGBBH1A71E","TRUE",
TLDUpper="XN--MGBERP4A5D4AR","TRUE",
TLDUpper="XN--O3CW4H","TRUE",
TLDUpper="XN--OGBPF8FL","TRUE",
TLDUpper="XN--P1AI","TRUE",
TLDUpper="XN--PGBS0DH","TRUE",
TLDUpper="XN--S9BRJ9C","TRUE",
TLDUpper="XN--WGBH1C","TRUE",
TLDUpper="XN--WGBL6A","TRUE",
TLDUpper="XN--XKC2AL3HYE2A","TRUE",
TLDUpper="XN--XKC2DL3A5EE0H","TRUE",
"FALSE"
)
TLDisOnList7 Calculation (Text)
= Case(
TLDUpper="XN--YFRO4I67O","TRUE",
TLDUpper="XN--YGBI2AMMX","TRUE",
TLDUpper="XN--ZCKZAH","TRUE",
TLDUpper="YE","TRUE",
TLDUpper="YT","TRUE",
TLDUpper="ZA","TRUE",
TLDUpper="ZM","TRUE",
TLDUpper="ZW","TRUE",
"FALSE"
)
TLDisOnList Calculation (Text) Indexed
= Case(
TLDisOnList1,"TRUE",
TLDisOnList2,"TRUE",
TLDisOnList3,"TRUE",
TLDisOnList4,"TRUE",
TLDisOnList5,"TRUE",
TLDisOnList6,"TRUE",
TLDisOnList7,"TRUE",
"FALSE"
)
RightPartWODomainName Calculation (Text) Indexed
= Substitute(RightPart, DomainName, "")
Subdomain Calculation (Text)
= If(Right(RightPartWODomainName,
1) = ".",Middle(RightPartWODomainName,
1, Length(RightPartWODomainName) - 1),
"")
LeftPartValidChars Calculation (Number)
= PatternCount(LeftPartUpper,"A") +
PatternCount(LeftPartUpper,"B") +
PatternCount(LeftPartUpper,"C") +
PatternCount(LeftPartUpper,"D") +
PatternCount(LeftPartUpper,"E") +
PatternCount(LeftPartUpper,"F") +
PatternCount(LeftPartUpper,"G") +
PatternCount(LeftPartUpper,"H") +
PatternCount(LeftPartUpper,"I") +
PatternCount(LeftPartUpper,"J") +
PatternCount(LeftPartUpper,"K") +
PatternCount(LeftPartUpper,"L") +
PatternCount(LeftPartUpper,"M") +
PatternCount(LeftPartUpper,"N") +
PatternCount(LeftPartUpper,"O") +
PatternCount(LeftPartUpper,"P") +
PatternCount(LeftPartUpper,"Q") +
PatternCount(LeftPartUpper,"R") +
PatternCount(LeftPartUpper,"S") +
PatternCount(LeftPartUpper,"T") +
PatternCount(LeftPartUpper,"U") +
PatternCount(LeftPartUpper,"V") +
PatternCount(LeftPartUpper,"W") +
PatternCount(LeftPartUpper,"X") +
PatternCount(LeftPartUpper,"Y") +
PatternCount(LeftPartUpper,"Z") +
PatternCount(LeftPartUpper,"0") +
PatternCount(LeftPartUpper,"1") +
PatternCount(LeftPartUpper,"2") +
PatternCount(LeftPartUpper,"3") +
PatternCount(LeftPartUpper,"4") +
PatternCount(LeftPartUpper,"5") +
PatternCount(LeftPartUpper,"6") +
PatternCount(LeftPartUpper,"7") +
PatternCount(LeftPartUpper,"8") +
PatternCount(LeftPartUpper,"9") +
PatternCount(LeftPartUpper,".") +
PatternCount(LeftPartUpper,"_") +
PatternCount(LeftPartUpper,"%") +
PatternCount(LeftPartUpper,"+") +
PatternCount(LeftPartUpper,"-") +
PatternCount(LeftPartUpper,"*") +
PatternCount(LeftPartUpper,"'") +
PatternCount(LeftPartUpper,"&")
LeftPartIsValid Calculation (Text) Indexed
= Case(LeftPartValidChars = Length(
LeftPart), "TRUE", "FALSE")
LeftPartNonSuspiciousChars Calculation (Number) = PatternCount(LeftPartUpper,"A") +
PatternCount(LeftPartUpper,"B") +
PatternCount(LeftPartUpper,"C") +
PatternCount(LeftPartUpper,"D") +
PatternCount(LeftPartUpper,"E") +
PatternCount(LeftPartUpper,"F") +
PatternCount(LeftPartUpper,"G") +
PatternCount(LeftPartUpper,"H") +
PatternCount(LeftPartUpper,"I") +
PatternCount(LeftPartUpper,"J") +
PatternCount(LeftPartUpper,"K") +
PatternCount(LeftPartUpper,"L") +
PatternCount(LeftPartUpper,"M") +
PatternCount(LeftPartUpper,"N") +
PatternCount(LeftPartUpper,"O") +
PatternCount(LeftPartUpper,"P") +
PatternCount(LeftPartUpper,"Q") +
PatternCount(LeftPartUpper,"R") +
PatternCount(LeftPartUpper,"S") +
PatternCount(LeftPartUpper,"T") +
PatternCount(LeftPartUpper,"U") +
PatternCount(LeftPartUpper,"V") +
PatternCount(LeftPartUpper,"W") +
PatternCount(LeftPartUpper,"X") +
PatternCount(LeftPartUpper,"Y") +
PatternCount(LeftPartUpper,"Z") +
PatternCount(LeftPartUpper,"0") +
PatternCount(LeftPartUpper,"1") +
PatternCount(LeftPartUpper,"2") +
PatternCount(LeftPartUpper,"3") +
PatternCount(LeftPartUpper,"4") +
PatternCount(LeftPartUpper,"5") +
PatternCount(LeftPartUpper,"6") +
PatternCount(LeftPartUpper,"7") +
PatternCount(LeftPartUpper,"8") +
PatternCount(LeftPartUpper,"9") +
PatternCount(LeftPartUpper,".") +
PatternCount(LeftPartUpper,"_") +
PatternCount(LeftPartUpper,"-")
LeftPartNonSuspiciousChars Calculation (Number)
= PatternCount(LeftPartUpper,"A") +
PatternCount(LeftPartUpper,"B") +
PatternCount(LeftPartUpper,"C") +
PatternCount(LeftPartUpper,"D") +
PatternCount(LeftPartUpper,"E") +
PatternCount(LeftPartUpper,"F") +
PatternCount(LeftPartUpper,"G") +
PatternCount(LeftPartUpper,"H") +
PatternCount(LeftPartUpper,"I") +
PatternCount(LeftPartUpper,"J") +
PatternCount(LeftPartUpper,"K") +
PatternCount(LeftPartUpper,"L") +
PatternCount(LeftPartUpper,"M") +
PatternCount(LeftPartUpper,"N") +
PatternCount(LeftPartUpper,"O") +
PatternCount(LeftPartUpper,"P") +
PatternCount(LeftPartUpper,"Q") +
PatternCount(LeftPartUpper,"R") +
PatternCount(LeftPartUpper,"S") +
PatternCount(LeftPartUpper,"T") +
PatternCount(LeftPartUpper,"U") +
PatternCount(LeftPartUpper,"V") +
PatternCount(LeftPartUpper,"W") +
PatternCount(LeftPartUpper,"X") +
PatternCount(LeftPartUpper,"Y") +
PatternCount(LeftPartUpper,"Z") +
PatternCount(LeftPartUpper,"0") +
PatternCount(LeftPartUpper,"1") +
PatternCount(LeftPartUpper,"2") +
PatternCount(LeftPartUpper,"3") +
PatternCount(LeftPartUpper,"4") +
PatternCount(LeftPartUpper,"5") +
PatternCount(LeftPartUpper,"6") +
PatternCount(LeftPartUpper,"7") +
PatternCount(LeftPartUpper,"8") +
PatternCount(LeftPartUpper,"9") +
PatternCount(LeftPartUpper,".") +
PatternCount(LeftPartUpper,"_") +
PatternCount(LeftPartUpper,"-")
LeftPartIsSuspicious Calculation (Text) Indexed
= Case(LeftPartNonSuspiciousChars =
Length(LeftPart), "FALSE", "TRUE")
DomainPart Calculation (Text)
= Substitute(DomainNmUpper,
TLDplusDot, "")
DomainPartValidChars Calculation (Number)
= PatternCount(DomainPart,"A") +
PatternCount(DomainPart,"B") +
PatternCount(DomainPart,"C") +
PatternCount(DomainPart,"D") +
PatternCount(DomainPart,"E") +
PatternCount(DomainPart,"F") +
PatternCount(DomainPart,"G") +
PatternCount(DomainPart,"H") +
PatternCount(DomainPart,"I") +
PatternCount(DomainPart,"J") +
PatternCount(DomainPart,"K") +
PatternCount(DomainPart,"L") +
PatternCount(DomainPart,"M") +
PatternCount(DomainPart,"N") +
PatternCount(DomainPart,"O") +
PatternCount(DomainPart,"P") +
PatternCount(DomainPart,"Q") +
PatternCount(DomainPart,"R") +
PatternCount(DomainPart,"S") +
PatternCount(DomainPart,"T") +
PatternCount(DomainPart,"U") +
PatternCount(DomainPart,"V") +
PatternCount(DomainPart,"W") +
PatternCount(DomainPart,"X") +
PatternCount(DomainPart,"Y") +
PatternCount(DomainPart,"Z") +
PatternCount(DomainPart,"0") +
PatternCount(DomainPart,"1") +
PatternCount(DomainPart,"2") +
PatternCount(DomainPart,"3") +
PatternCount(DomainPart,"4") +
PatternCount(DomainPart,"5") +
PatternCount(DomainPart,"6") +
PatternCount(DomainPart,"7") +
PatternCount(DomainPart,"8") +
PatternCount(DomainPart,"9") +
PatternCount(DomainPart,"-")
DomainPartFirstChar Calculation (Text)
= Left(DomainPart,1)
DomainPartLastChar Calculation (Text)
= Right(DomainPart,1)
DomainPartIsValid Calculation (Text) Indexed
= Case(
DomainPartFirstChar = "-", "FALSE",
DomainPartLastChar = "-", "FALSE",
DomainPartValidChars = Length(
DomainPart), "TRUE","FALSE")
EmailAddressIsValid Calculation (Text) Indexed
= Case(
TLDisOnList = "FALSE","FALSE",
LeftPartIsValid = "FALSE","FALSE",
DomainPartIsValid = "FALSE","FALSE",
NumberOfSpaces > 0, "FALSE",
NumberOfDotATs > 0, "FALSE",
NumberOfATDots > 0, "FALSE",
NumberOfDoubleDots > 0, "FALSE",
NumberOfATs > 1, "FALSE",
"TRUE")
EmailAddressIsSuspicious Calculation (Text) Indexed
= Case(
LeftPartIsSuspicious = "TRUE", "TRUE",
TLDisOnList = "FALSE","TRUE",
LeftPartIsValid = "FALSE","TRUE",
DomainPartIsValid = "FALSE","TRUE",
"FALSE")
EmailAddressInvalidReasons Calculation (Text) Indexed
= If(TLDisOnList = "FALSE",
"TLD-Not-On-List ", "") &
If(LeftPartIsValid = "FALSE",
"Left-Part-Is-Not-Valid ", "") &
If(DomainPartIsValid = "FALSE",
"Domain-Part-Is-Not-Valid ", "") &
If(NumberOfSpaces > 0,
"Spaces-In-Email-Address ", "") &
If((NumberOfDotATs > 0) or
(NumberOfATDots > 0),
"Dot-Next-To-@-Sign ", "") &
If(NumberOfDoubleDots > 0,
"Dots-Next-To-Each-Other ", "") &
If(NumberOfATs > 1,
"More-Than-One-@-Sign ", "")
DisableDate Date
DisableReason Text
EmailAddressIsUsable Calculation (Text) Indexed
= Case(
EmailAddressIsValid = "FALSE","FALSE",
DisableDate <> "","FALSE",
DisableReason <> "","FALSE",
"TRUE")
QuestionableDate Date
QuestionableReasons Text
EmailAddressIsQuestionable Calculation (Text) Indexed
= Case(
EmailAddressIsSuspicious = "TRUE",
"TRUE",
QuestionableDate <> "","TRUE",
QuestionableReasons <> "","TRUE",
"FALSE")
Start Here to Find It Fast!™ -> http://www.US-Webmasters.com/best-start-page/
$8.77 Domain Names -> http://domains.us-webmasters.com/
|