当前位置: 首页 > 面试题库 >

用于验证用户名的正则表达式

徐俊楚
2023-03-14
问题内容

我正在尝试创建一个正则表达式来根据以下条件验证用户名:

  1. 仅包含 字母数字 字符, 下划线
  2. 下划线和点号不能位于用户名(例如/ / / )的 末尾开头_username``username_``.username``username.
  3. 下划线和点不能 彼此相邻 (例如user_.name)。
  4. 下划线或点不能被多次使用 的行中 (例如,user__name/ user..name)。
  5. 字符数必须在8到20之间。

到目前为止,这是我所做的;听起来它强制执行 除了第5条规则以外的 所有标准规则。我不知道如何添加第五条规则:

 ^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$

问题答案:
^(?=.{8,20}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._]+(?<![_.])$
 └─────┬────┘└───┬──┘└─────┬─────┘└─────┬─────┘ └───┬───┘
       │         │         │            │           no _ or . at the end
       │         │         │            │
       │         │         │            allowed characters
       │         │         │
       │         │         no __ or _. or ._ or .. inside
       │         │
       │         no _ or . at the beginning
       │
       username is 8-20 characters long

如果您的浏览器由于缺乏负面的后向支持而引发错误,请使用以下替代模式:

^(?=[a-zA-Z0-9._]{8,20}$)(?!.*[_.]{2})[^_.].*[^_.]$


 类似资料:
  • 问题内容: 我正在尝试使用以下规则在Java中使用用户名链: 长度> = 3 有效字符:az,AZ,0-9,点,破折号和下划线。 有人可以帮我提供正则表达式吗? 问题答案: 试试这个正则表达式:

  • 问题内容: 谁能帮助我创建用于密码验证的正则表达式。 条件为“密码必须包含8个字符和至少一个数字,一个字母和一个唯一字符,例如 问题答案:

  • 我需要有关验证电话号码的正则表达式行的帮助,它如下所示: 这些是它验证的格式: 我想验证如下数字: +263 772 485 384 773456284 0773456284 大部分是国际号码

  • 我希望在我的应用程序中接受带有字母和连字符或破折号的名称,我的代码基于我在这里找到的答案并编码为: 唯一的问题是它接受连字符作为我不想要的第一个字母(甚至是多个字母)。谢谢

  • 问题内容: 您能否提供与Twitter用户名匹配的正则表达式? 如果提供了Python示例,则可以额外获得奖金。 问题答案: 我使用了它,因为它不考虑电子邮件。 这是一个示例推文: @你好@你好吗@my_friend,给我@ 000我发电子邮件@ whats.up @ example.com @shahmirj 火柴: @你好 @您 @我的朋友 @shahmirj 它也适用于主题标签,我使用将更改

  • 我不擅长正则表达式。我需要验证密码是否正确。 条件: 您的密码长度可以是8-32个字符,并且必须包括至少两个以下字符: 至少一个字母(大写或小写) 至少一个数字 至少一个特殊字符 正则表达式中的正则表达式允许至少一个特殊字符,一个大写字母,一个小写字母(按任何顺序)需要所有三个,并且对长度没有上限,因此看起来我需要修改Tim Pietzcker的解决方案,这是 <代码>^(? =.{ 8,})(?