Check Email Format in Golang and JavaScript.
使用 Golang 和 JavaScript 检查 Email 格式的合法性。
Code From: GitLab
Check Email Format in Golang and JavaScript.
使用 Golang 和 JavaScript 检查 Email 格式的合法性。
Code From: GitLab
| package main | |
| import ( | |
| "regexp" | |
| ) | |
| var EmailChecker = regexp.MustCompile("^[-!#$%&'*+\\/0-9=?A-Z^_a-z{|}~](\\.?[-!#$%&'*+\\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-?\\.?[a-zA-Z0-9])*\\.[a-zA-Z](-?[a-zA-Z0-9])+$") | |
| func EmailCheck(email string) bool { | |
| if len(email) == 0 || len(email) > 254 { | |
| return false | |
| } | |
| if !EmailChecker.MatchString(email) { | |
| return false | |
| } | |
| parts := strings.Split(email, "@") | |
| if len(parts[0]) > 64 { | |
| return false | |
| } | |
| domainParts := strings.Split(parts[1], ".") | |
| for _, val := range domainParts { | |
| if len(val) > 63 { | |
| return false | |
| } | |
| } | |
| return true | |
| } |
| const EmailChecker = /^[-!#$%&'*+\/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+\/0-9=?A-Z^_a-z`{|}~])*@[a-zA-Z0-9](-?\.?[a-zA-Z0-9])*\.[a-zA-Z](-?[a-zA-Z0-9])+$/; | |
| export default email => { | |
| if (!email) { | |
| return false; | |
| } | |
| if (email.length > 254) { | |
| return false; | |
| } | |
| if (!EmailChecker.test(email)) { | |
| return false; | |
| } | |
| const parts = email.split("@"); | |
| if (parts[0].length > 64) { | |
| return false; | |
| } | |
| const domainParts = parts[1].split("."); | |
| return domainParts.every(part => part.length < 64); | |
| }; |