gpt4 book ai didi

javascript - 用于验证多个条件的正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:26:24 25 4
gpt4 key购买 nike

我需要在多个条件下使用 javascript 验证字符串。我不确定如何使用正则表达式执行此操作。

我需要检查字符串是否不包含以下任何条件

条件 1:以 18XX 或 1-8XX 或 8XX 开头的任意长度的字符串,其中 X 是 0 到 9 之间的任意数字(包括 0 和 9)。 例如:1800abc、812abc-def、1-805-999-9999

条件 2:以 NXX 或 1NXX 或 1-NXX 开头的字符串后跟不包括连字符的正好七个数字,其中 N 是 2 到 9 之间的任意数字(2 和 9 都包括在内) X 是 0 到 9 之间的任何数字(0 和 9 都包括在内)。 例如:12-999-9999、19009998888、1-212---1-2-3-4-5-6-7--

条件3:以XXXXX开头的字符串,其中X是0到9之间的任意数字(0和9都包括在内)。 例如:20176、90210-Melrose

最佳答案

你不能让一个正则表达式匹配所有这一切, 也许你可以!!见下文

尝试对每个条件使用这三个,检查所有三个并仅通过那些匹配的条件。

条件 1:^1?-?8\d{2}.*$

条件 2:先删除所有连字符,然后匹配 ^1?[2-9]\d{7}$

条件三:^\d{5}.*$

希望对你有帮助

编辑

您可能只有一个正则表达式可以匹配它。因为 - 似乎是一个可选字符让我们先删除它们,但正如 @nnnnn 在评论中指出的那样,让我们​​首先检查字符串是否确实 begins- 如果是,则字符串通过验证而无需进一步检查。然后你可以将这三个与 | 串在一起形成一个你可以检查的正则表达式

^1?8\d{2}.*|1?[2-9]\d{7}|\d{5}.*

我从第一部分中删除了 -?,因为我们已经删除了所有的连字符。

关于javascript - 用于验证多个条件的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024122/

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