gpt4 book ai didi

javascript - 信用卡的正则表达式需要相同的重复符号

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

我正在努力寻找并提出一个不允许信用卡中不一致符号的正则表达式。

\d{4}[\s\-]*\d{4}[\s\-]*\d{4}[\s\-]*\d{4}
例如,上面的正则表达式允许下面的通过。最后一个有问题,因为它包含 '-' 和 ' ' 和 ''。我如何想出一个要求所有符号('-' 或 ' ' 或 '')始终相同的正则表达式?即只允许前 3 个而不是最后一个语句。
1234123412341234、1234-1234-1234-1234、1234 1234 1234 1234、1234-12341234 1234

最佳答案

您可以使用捕获组来“记住”第一种情况下的分隔符是什么,并确保其他情况也使用它。
最后的正则表达式是:\d{4}([\s\-])*\d{4}\1*\d{4}\1*\d{4}()围第一[\s\-]启动捕获组; \1稍后指示使用与先前捕获的值相同的值。
在这里查看它的实际效果 https://regexr.com/5l74g
编辑:根据评论,更好的解决方案可能是\d{4}([\s\-]?)\d{4}\1\d{4}\1\d{4} ,具体取决于您的要求。这确保了 - s 和 s 不混合,而且只有 0 或 1 个分隔符。

关于javascript - 信用卡的正则表达式需要相同的重复符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65932474/

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