38 lines
720 B
Go
38 lines
720 B
Go
/*
|
|
* @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)
|
|
}
|