中文用户名的正则有误?

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

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
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年前 评论

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