go的版本,不支持中文名注册吗?
我 go get 之后,build 运行, 可以访问 8082端口,但注册的时候,不支持中文。
会提示 “name fmt err”
查看 user.go
if !util.IsUserName(nameLow) {
w.Write([]byte({"retcode":400,"retmsg":"name fmt err"}
))
return
}
查看 adminuseredit.go
if !util.IsNickname(nameLow) {
w.Write([]byte({"retcode":400,"retmsg":"name fmt err"}
))
return
}
这个怎么修改?谢谢
0
1)不支持中文注册,提示 name fmt err。 换英文名注册,成功。
2)可以用英文名登陆,然后修改登录名为中文,提示成功
3)重新登录,输入中文名,不能登录,提示 name ftm err; 输入之前英文名,提示 json Decode err:key_not_found。
以上
stringcheck.go
修改
usernameRegexp = regexp.MustCompile(
^[a-zA-Z][a-z0-9A-Z]*(_[a-z0-9A-Z]+)*$
)改为
usernameRegexp = regexp.MustCompile(
^[a-z0-9A-Z\p{Han}]+(_[a-z0-9A-Z\p{Han}]+)*$
)暂时可用
IsUserName 和 IsNickname 对换或修改 IsUserName 正则
@ego008 谢谢ego.