注册必填 7-32 位账号,手机号区号/本地号分存;登录默认账号模式并支持切换手机号登录;Player i18n 拆包与赛事接口优化。 Co-authored-by: Cursor <cursoragent@cursor.com>
20 lines
670 B
TypeScript
20 lines
670 B
TypeScript
/** 玩家用户名:仅英文字母与数字,7–32 位 */
|
||
export const PLAYER_USERNAME_PATTERN = /^[a-zA-Z0-9]{7,32}$/;
|
||
|
||
export const PLAYER_USERNAME_RULE_MESSAGE =
|
||
'玩家用户名仅可使用英文字母和数字(7–32 位),不可含中文或特殊符号';
|
||
|
||
export function isValidPlayerUsername(username: string): boolean {
|
||
return PLAYER_USERNAME_PATTERN.test(username.trim());
|
||
}
|
||
|
||
export function assertPlayerUsername(username: string): void {
|
||
const trimmed = username.trim();
|
||
if (!trimmed) {
|
||
throw new Error('玩家用户名不能为空');
|
||
}
|
||
if (!isValidPlayerUsername(trimmed)) {
|
||
throw new Error(PLAYER_USERNAME_RULE_MESSAGE);
|
||
}
|
||
}
|