You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写支持指定特殊字符的用户名验证正则表达式

用户名合法性校验正则方案

核心匹配规则

首先明确合法用户名仅允许使用以下字符:

  • 大小写英文字母(a-z、A-Z)
  • 阿拉伯数字(0-9)
  • 指定特殊字符:%^&@#$^*:'.-_

最终正则表达式

需要全量匹配用户名的场景下,通用正则写法如下:

^[a-zA-Z0-9@%^&*#$:'._-]+$

各部分说明

  • ^ 匹配字符串的开始位置,避免合法字符前面出现违规内容
  • [a-zA-Z0-9@%^&*#$:'._-] 是允许的字符集,此处将-放在字符集末尾,避免被识别为范围符号,无需额外转义
  • + 限定用户名长度至少为1位,如果有明确的长度要求,可替换为{最小长度,最大长度},比如要求4-16位就写成{4,16}
  • $ 匹配字符串的结束位置,避免合法字符后面出现违规内容

测试验证

你给出的所有合法示例均可正常匹配:

  • raaghu@09$%^&:匹配通过
  • @Raaghu098:匹配通过
  • Raaghu:匹配通过
  • 9raghu:匹配通过

可选优化

如果你的开发环境支持正则修饰符,可以添加i修饰符忽略大小写,简化写法如下:

^[a-z0-9@%^&*#$:'._-]+$

内容的提问来源于stack exchange,提问作者user1528398

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:45:02