如何在输入验证中允许 UNICODE 代码点的子集?

z80*_*000 3 unicode validation codepoint

我正在创建一项服务,可以“走向国际”到非英语市场。我不想将用户名限制为 ASCII 字符范围,但希望允许用户指定他们的“自然”用户名。好的,使用 UNICODE(并说 UTF-8 作为我的用户名文本编码)。

但!我不希望用户创建包含“符号”代码点的“非名称”用户名。例如,我不想允许像 ??????øøøøø 这样的用户名。

是否有 UNICODE 的“符号”代码点列表,我可以检查(可能使用正则表达式)以接受/拒绝给定的用户名?

谢谢!

Luk*_*ský 5

Unicode 有多个类别,因此您可以轻松排除符号。具体如何执行取决于您使用的语言。一些正则表达式框架内置了该功能,有些则没有。