go的版本,不支持中文名注册吗?

By 帅兵Gene at 2018-02-06 15:29 • 380次点击
帅兵Gene

我 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
}

这个怎么修改?谢谢


go, 版本, 中文名


1)不支持中文注册,提示 name fmt err。

换英文名注册,成功。
2)可以用英文名登陆,然后修改登录名为中文,提示成功
3)重新登录,输入中文名,不能登录,提示 name ftm err; 输入之前英文名,提示 json Decode err:key_not_found。

以上

帅兵Gene at 2018-02-06 15:36
1

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}]+)*$`)

暂时可用

帅兵Gene at 2018-02-06 16:28
2

IsUserName 和 IsNickname 对换或修改 IsUserName 正则

ego008 at 2018-02-06 18:42
3

@ego008

谢谢ego.

帅兵Gene at 2018-02-07 00:32
4
登录 后发表评论