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

如何修改账号创建PS脚本的用户名校验正则,满足特殊字符限制规则

适配需求的正则方案

最终正则表达式

区分大小写版本

^[a-zA-Z]+(?:['-][a-zA-Z]+)*\.[a-zA-Z0-9]+(?:['-][a-zA-Z0-9]+)*$

PowerShell常用忽略大小写版本(更简洁)

在正则开头加(?i)标记即可兼容大小写不敏感的校验场景:

(?i)^[a-z]+(?:['-][a-z]+)*\.[a-z0-9]+(?:['-][a-z0-9]+)*$

规则匹配说明

逻辑拆解

  1. FirstName部分^[a-zA-Z]+(?:['-][a-zA-Z]+)*
    • 开头强制为字母,避免首字符为连字符/撇号
    • 非捕获组(?:['-][a-zA-Z]+)限定:每次出现连字符/撇号后,必须紧跟至少1个字母,天然避免两个符号连续出现、以及末尾为符号的情况
    • 仅允许字母、连字符、撇号,完全符合FirstName的字符限制
  2. 强制匹配姓名分隔符\.
  3. LastName部分[a-zA-Z0-9]+(?:['-][a-zA-Z0-9]+)*$
    • 逻辑同FirstName,仅将允许的字符范围扩展为字母+数字
    • 末尾强制为字母/数字,避免尾字符为连字符/撇号

校验效果示例

  • 匹配的合法用户名:sh-aun.ohn0'doe、o'neil.smith、mary-anne.jones2
  • 拦截的非法用户名:
    • 首尾为符号:-shaun.smith、shaun.smith'
    • 符号连续:sha--un.smith、o''neil.smith、shaun.sm--ith
    • FirstName含数字:shaun1.smith

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:12:02