package Validation import ( "errors" "regexp" "src/Common/Crypto" "strconv" "time" ) //sign校验 func ValidSign(tm string, spcode string, sign string, Sps map[string]string) error { // return nil //测试时不校验 var err error if len(tm) > 0 && len(spcode) > 0 && len(sign) > 0 { key := Sps[spcode] if len(key) > 0 { t, err1 := strconv.ParseInt(tm, 10, 64) if err1 != nil { err = err1 } else { span := time.Now().Unix() - t if span > 600 { err = errors.New("请求超时") } else { mySign := Crypto.GetMd5String(tm + key + spcode) if mySign != sign { err = errors.New("sign不匹配") } } } } else { err = errors.New("sp不存在") } } else { err = errors.New("校验参数不完整") } return err } //验证是否为手机号 func ValidMobile(mobileNum string) bool { // reg := `^1([38][0-9]|14[57]|5[^4])\d{8}$` reg := `^[1][3,4,5,7,8][0-9]{9}$` rgx := regexp.MustCompile(reg) return rgx.MatchString(mobileNum) }