diff --git a/config.yml b/config.yml index fd0ba72..c1e5ca6 100644 --- a/config.yml +++ b/config.yml @@ -101,6 +101,7 @@ ldap: group-name-modify: false # 是否允许更改用户DN user-name-modify: false +# 📢 即便用不到如下三段配置信息,也不要删除,否则会有一些奇怪的错误出现 dingtalk: # 配置获取详细文档参考: http://ldapdoc.eryajf.net/pages/94f43a/ flag: "dingtalk" # 作为钉钉在平台的标识 diff --git a/public/tools/type.go b/public/tools/type.go index f7bf430..178040c 100644 --- a/public/tools/type.go +++ b/public/tools/type.go @@ -17,6 +17,12 @@ func isEnglish(str string) bool { return match } +// 是否为英文与数字组合 +func isEnglishAndNum(str string) bool { + match, _ := regexp.MatchString(`^[a-zA-Z0-9_-]+$`, str) + return match +} + // 是否全为中文 func isChinese(s string) bool { for _, r := range s { @@ -32,7 +38,8 @@ func isChinese(s string) bool { 1.如果名字中有横杠或者下划线连接,将会删去下划线再处理 2.全是中文:直接转拼音 3.全是英文:不进行处理,原文呈现 - 4.如果是中英混合,那么分以下几种情况 + 4.英文与数字组合,不进行处理,原文呈现 + 5.如果是中英混合,那么分以下几种情况 1.开头是中文,结尾不是中文:进入Convert逻辑第一种 2.开头不是中文,结尾不是中文:进入Convert逻辑第一种 3.开头不是中文,结尾是中文:进入Convert逻辑第三种 @@ -56,7 +63,7 @@ func Convert(src string) string { if isChinese(src) { // 全是中文 return strings.Join(pinyin.LazyConvert(src, nil), "") } - if isEnglish(src) { // 全是英文 + if isEnglish(src) || isEnglishAndNum(src) { // 全是英文,或者为英文与数字组合 return src }