-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathvalid.go
52 lines (43 loc) · 1.93 KB
/
valid.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package mailfull
import (
"errors"
"regexp"
)
// Errors for incorrect format.
var (
ErrInvalidDomainName = errors.New("Domain: name incorrect format")
ErrInvalidAliasDomainName = errors.New("AliasDomain: name incorrect format")
ErrInvalidAliasDomainTarget = errors.New("AliasDomain: target incorrect format")
ErrInvalidUserName = errors.New("User: name incorrect format")
ErrInvalidAliasUserName = errors.New("AliasUser: name incorrect format")
ErrInvalidAliasUserTarget = errors.New("AliasUser: target incorrect format")
ErrInvalidCatchAllUserName = errors.New("CatchAllUser: name incorrect format")
)
// validDomainName returns true if the input is correct format.
func validDomainName(name string) bool {
return regexp.MustCompile(`^([A-Za-z0-9\-]+\.)*[A-Za-z]+$`).MatchString(name)
}
// validAliasDomainName returns true if the input is correct format.
func validAliasDomainName(name string) bool {
return regexp.MustCompile(`^([A-Za-z0-9\-]+\.)*[A-Za-z]+$`).MatchString(name)
}
// validAliasDomainTarget returns true if the input is correct format.
func validAliasDomainTarget(target string) bool {
return regexp.MustCompile(`^([A-Za-z0-9\-]+\.)*[A-Za-z]+$`).MatchString(target)
}
// validUserName returns true if the input is correct format.
func validUserName(name string) bool {
return regexp.MustCompile(`^[^\.\s@][^\s@]+$`).MatchString(name)
}
// validAliasUserName returns true if the input is correct format.
func validAliasUserName(name string) bool {
return regexp.MustCompile(`^[^\.\s@][^\s@]+$`).MatchString(name)
}
// validAliasUserTarget returns true if the input is correct format.
func validAliasUserTarget(target string) bool {
return regexp.MustCompile(`^[^\.\s@][^\s@]+@([A-Za-z0-9\-]+\.)*[A-Za-z]+$`).MatchString(target)
}
// validCatchAllUserName returns true if the input is correct format.
func validCatchAllUserName(name string) bool {
return regexp.MustCompile(`^[^\.\s@][^\s@]+$`).MatchString(name)
}