go-common/app/interface/main/account/model/regular.go
2019-04-22 18:49:16 +08:00

27 lines
678 B
Go

package model
import (
"bytes"
"regexp"
)
// var .
var (
EmojiPattern = regexp.MustCompile(`[\x{1F600}-\x{1F6FF}|[\x{2600}-\x{26FF}]`)
NamePattern = regexp.MustCompile("^[A-Za-z0-9\uAC00-\uD788\u3041-\u309E\u30A1-\u30FE\u3131-\u3163\u4E00-\u9FA5\uF92C-\uFA29_\\-]+$")
)
// HasEmoji is used to check string is contain emoji
func HasEmoji(s string) bool {
return EmojiPattern.MatchString(s)
}
// ValidName check string is contain special characters.
func ValidName(s string) bool {
h := []byte(s)
if bytes.Contains(h, []byte("\xF0\x9F")) || bytes.Contains(h, []byte("\xC2\xA0")) {
return false
}
return NamePattern.MatchString(s) && !EmojiPattern.MatchString(s)
}