package CheckHandler import ( "github.com/gin-gonic/gin" "regexp" ) /** 功能:检查字符串是否是邮箱 作者:黄海 时间:2020-03-17 */ func emailLimitIsLegal(c *gin.Context, interName string, n int) (bool, ResultStruct) { //1、调用通用检查器 success, resultStruct, httpType, arr := commonIsLegal(c, interName, n) if !success { return success, resultStruct } //2、如果通过了常规检查,那么进行业务专用检查 for i := 0; i < len(arr); i++ { paraStruct := arr[i] //是否合法邮箱 if !verifyEmailFormat(paraStruct.inputParameterValue) { resultStruct.HttpType = httpType resultStruct.Message = "不是合法邮箱!" return false, resultStruct } } return true, resultStruct } func verifyEmailFormat(email string) bool { pattern := `^[0-9a-z][_.0-9a-z-]{0,31}@([0-9a-z][0-9a-z-]{0,30}[0-9a-z]\.){1,4}[a-z]{2,4}$` reg := regexp.MustCompile(pattern) return reg.MatchString(email) }