From d4bc04dbe5279bee4b3cbb69407d9cb99d05530b Mon Sep 17 00:00:00 2001 From: lzh <18320341470> Date: Tue, 17 Jun 2025 09:14:47 +0800 Subject: [PATCH] common_func --- common_fun/string_func.go | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 common_fun/string_func.go diff --git a/common_fun/string_func.go b/common_fun/string_func.go new file mode 100644 index 0000000..194f6a2 --- /dev/null +++ b/common_fun/string_func.go @@ -0,0 +1,50 @@ +package cf + +import ( + "math/rand" + "regexp" +) + +// 是否是手机号 +func IsMobile(str string) bool { + return regexp.MustCompile(`^1[3-9]\d{9}$`).MatchString(str) +} + +// 随机字符串 +var letters = []rune("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") + +// 获取随机字符串 +func StrRand(strLen int) string { + randBytes := make([]rune, strLen) + for i := range randBytes { + randBytes[i] = letters[rand.Intn(len(letters))] + } + return string(randBytes) +} + +// 随机字母字符串 +var charLetters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") + +// 随机字母字符串 +func StrCharRand(strLen int) string { + randBytes := make([]rune, strLen) + for i := range randBytes { + randBytes[i] = charLetters[rand.Intn(len(charLetters))] + } + return string(randBytes) +} + +// 随机数字字符串 +// 第一位不能是0 +func StrNumberRand(strLen int) string { + numberLetters := []rune("0123456789") + randBytes := make([]rune, strLen) + for i := range randBytes { + if i == 0 { + randBytes[i] = letters[rand.Intn(9)] + } else { + randBytes[i] = letters[rand.Intn(len(numberLetters))] + } + } + return string(randBytes) +}