gpt4 book ai didi

javascript - 正则表达式最大长度为 12,无特殊字符和其他条件

转载 作者:行者123 更新时间:2023-11-28 05:16:28 25 4
gpt4 key购买 nike

我刚开始使用正则表达式。我有一个文本框,需要输入符合以下要求的代码。

我很高兴获得有关正则表达式的一些帮助,其中包含以下内容:

  1. 输入的字符总数应为 12
  2. 不允许使用特殊字符
  3. 第一个字符应为字母 [A-Z]
  4. 第二个字符可以是字母或数字
  5. 如果第二个字符是字母表,则 10 个字符应该是数字如果第二个字符不是字母表,则 11 应该是数字。

我尝试过以下操作:

^[A-Z][A-Z0-9][0-9]{11}$

但我认为这将从第二个字符开始检查所有字符为数字,并且仍然允许特殊字符

最佳答案

如果您愿意,您可以了解一些有关前瞻断言的知识,以强制执行某些内容/长度内容。让我们看一下这个正则表达式:

/^(?=^.{12}$)[A-Z]{1,2}\d*$/
  • (?=^.{12}$) 是正向先行断言。它将确保字符串长度为 12 个字符;
  • [A-Z]{1,2} 将强制模式以 A 到 Z 范围内的 1 或 2 个字母开头;
  • \d* 将匹配任意数量的数字
  • ^..$ 将锚定字符串的开头 (^) 和字符串的结尾 ($)。

演示:

console.log(/^(?=^.{12}$)[A-Z]{1,2}\d*$/.test('123456789010'));
console.log(/^(?=^.{12}$)[A-Z]{1,2}\d*$/.test('A123456789'));
console.log(/^(?=^.{12}$)[A-Z]{1,2}\d*$/.test('A123456789011'));
console.log(/^(?=^.{12}$)[A-Z]{1,2}\d*$/.test('AAA123456789'));

console.log(/^(?=^.{12}$)[A-Z]{1,2}\d*$/.test('AA1234567890'));
console.log(/^(?=^.{12}$)[A-Z]{1,2}\d*$/.test('A12345678901'));

关于javascript - 正则表达式最大长度为 12,无特殊字符和其他条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40944138/

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