gpt4 book ai didi

javascript - JavaScript 中的正则表达式验证(测试)

转载 作者:行者123 更新时间:2023-12-02 20:47:39 26 4
gpt4 key购买 nike

正则表达式问题似乎很常见,因为每个问题似乎都适用于特定情况。话虽如此,这是我的具体案例......

我需要验证员工 ID 是否采用两种特定格式之一。第一种格式(也是我可靠工作的格式)是(不带引号): "A000000",其中“A”可以是任何字母字符,“0”可以是 0 到 9 之间的任何数字。另一个要求因为只需要员工 ID 的前两个位置,这意味着用户可以输入“A0”并且它会验证(此员工 ID 在 SQL 语句的 LIKE - ...SID LIKE "A0%"中使用.再说一遍,这是我通过使用...

[A-Z]{1}\d{1,6}

第二种格式给我带来了麻烦。上面的要求相同,仅需要输入字符串的前两个位置,其他任何内容都是可选的,但如果输入,则必须遵守指定的格式。格式为(不带引号):“000000A”。我遇到问题的部分是确保如果输入的数字超过两位,则接下来输入的三到六个值是数字,如果输入最后一个值,则它必须是字符。所以有效的输入可能是...

“00”或“000”或“0000”或“00000”或“000000”或“000000A”,但不是“0”或“0A”或“00A”,或“000A”等,或“0000000”。这是迄今为止我对此格式的了解...

\d{2}(\d{1,4})?[A-Z]{0,1}

问题在于,这允许在位置 3 到 6 的任何位置输入字母字符。它不允许在前两个位置出现任何字母字符(好),并且不允许在第七个(最后一个)位置出现任何数字字符(好)。只是那些可选的第三到第六个字符允许使用字母字符,这让我感到悲伤。

我希望这是足够的信息(或者也许不是太多)。任何帮助将不胜感激。谢谢!!!

最佳答案

尝试这个表达式:

(\d{2,5}|\d{6}[A-Z]?)

它匹配 2 到 5 个数字 (\d{2,5}) 或 6 个数字和一个可选字母 (\d{6}[A-Z]? )。如果您想要精确匹配,请使用 ^$ anchor 来标记开始和结束:

^(\d{2,5}|\d{6}[A-Z]?)$

关于javascript - JavaScript 中的正则表达式验证(测试),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/768774/

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