/* * @Author: haodaquan * @Date: 2017-06-20 10:01:39 * @Last Modified by: haodaquan * @Last Modified time: 2017-06-20 10:02:07 */ package libs import ( "crypto/md5" "fmt" "regexp" ) var emailPattern = regexp.MustCompile("[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[a-zA-Z0-9](?:[\\w-]*[\\w])?") func Md5(buf []byte) string { hash := md5.New() hash.Write(buf) return fmt.Sprintf("%x", hash.Sum(nil)) } func SizeFormat(size float64) string { units := []string{"Byte", "KB", "MB", "GB", "TB"} n := 0 for size > 1024 { size /= 1024 n += 1 } return fmt.Sprintf("%.2f %s", size, units[n]) } func IsEmail(b []byte) bool { return emailPattern.Match(b) }