PARAMETERS m.EmailAddr >PRIVATE m.EmailIsOk, m.Allowed, m.EmAddr, m.Domain, m.MailBox >m.EmAddr = UPPER(ALLTRIM(m.EmailAddr)) >m.Domain = SUBSTR(m.EmAddr, AT("@",m.EmAddr)+1) >m.MailBox = LEFT(m.EmAddr, AT("@",m.EmAddr)-1) >m.Allowed = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-_.@1234567890' >m.EmailIsOk = .T. > >DO CASE >CASE LEN( CHRTRAN( UPPER( ALLTRIM(m.EmAddr)), m.allowed, "")) > 0 > m.EmailIsOk = .F. >CASE OCCURS("@", m.EmAddr) <> 1 > m.EmailIsOk = .F. >CASE OCCURS(".", m.EmAddr) < 1 > * At least one dot > m.EmailIsOk = .F. >CASE OCCURS("..", m.EmAddr) > 0 > m.EmailIsOk = .F. > >* Additional Checks >CASE OCCURS(".", m.Domain) < 1 > * At least one dot after '@' > m.EmailIsOk = .F. >CASE INLIST(LEFT(m.Domain,1), "-", ".") > m.EmailIsOk = .F. >CASE INLIST(RIGHT(m.Domain,1), "-", ".") > m.EmailIsOk = .F. >CASE INLIST(LEFT(m.MailBox,1), "-", ".") > m.EmailIsOk = .F. >CASE INLIST(RIGHT(m.MailBox,1), "-", ".") > m.EmailIsOk = .F. >CASE NOT BETWEEN(LEN(SUBSTR(m.Domain, RAT(".",m.Domain)+1)), 2,4) > m.EmailIsOk = .F. > >ENDCASE > >RETURN m.EmailIsOk >So you still use FPD 2.6