gpt4 book ai didi

javascript - 如何使用 JavaScript 创建用户名正则表达式?

转载 作者:行者123 更新时间:2023-12-03 08:35:26 25 4
gpt4 key购买 nike

以下是用户名的规则:

  1. 用户名只能使用字母数字字符。

  2. 用户名中唯一的数字必须位于末尾。最后可以有零个或多个。用户名不能以数字开头。

  3. 用户名字母可以小写和大写。

  4. 用户名的长度必须至少为两个字符。两个字符的用户名只能使用字母作为字符。

我尝试使用以下内容:

对于(1.)我做了/^[a-zA-Z0-9]/

对于(2.)我做了/[0-9]*$/

对于(3.)已经在(1.)中做到了

for (4.) (对此不太确定)/../...尝试将所有这些组合成一个正则表达式语句我做了:/^[a-zA-Z0-9][0-9]*$../

最佳答案

您可以使用负前瞻来断言字符串不是以字符 a-zA-Z 开头,后跟可选数字。

然后以 1 个以上字符 a-zA-Z 开始匹配,并以可选数字结束。

^(?![A-Za-z]\d?$)[a-zA-Z]+\d*$

说明

  • ^ 字符串开头
  • (?![A-Za-z]\d?$) 负向前瞻,断言不是字符 a-zA-Z 后跟可选数字和字符串结尾
  • [a-zA-Z]+\d* 匹配 1 个以上字符 a-zA-Z 后跟可选数字,以便字符串不能以数字开头
  • $ 字符串结尾

Regex demo

const regex = /^(?![A-Za-z]\d?$)[a-zA-Z]+\d*$/;
[
"tt",
"tt2",
"test",
"a11",
"t2",
"t",
"1",
"t1t"
].forEach(s => console.log(`${s} ==> ${regex.test(s)}`));

关于javascript - 如何使用 JavaScript 创建用户名正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63963913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com