中文用户名的正则有误?

用户名应该是只支持英文、数字、横杠和下划线,不支持中文的哈

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
DianWang
最佳答案

中间加一段即可。regex:/^[\x{4e00}-\x{9fa5}A-Za-z0-9-_]+$/u

6年前 评论
学无止境 4年前
讨论数量: 5
sunxyw

支持中文吧,我看有很多网站的用户名都支持中文的,例如Discuz

6年前 评论

@sunxyw 还有微博呐,哈哈,看自己乐意。

6年前 评论
DianWang

中间加一段即可。regex:/^[\x{4e00}-\x{9fa5}A-Za-z0-9-_]+$/u

6年前 评论
学无止境 4年前

PHP正则表达式中不支持下列 Perl 转义序列:\L, \l, \N, \P, \p, \U, \u, or \X
在 UTF-8 模式下,允许用“\x{...}”,花括号中的内容是表示十六进制数字的字符串。原来的十六进制转义序列 \xhh 如果其值大于 127 的话则匹配了一个双字节 UTF-8 字符。
所以可以这样:regex:/^[\x80-\xff_A-Za-z0-9]

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!