gpt4 book ai didi

javascript - 将捕获组与 SEPA 银行编号的量词相结合的正则表达式

转载 作者:行者123 更新时间:2023-11-27 23:19:10 27 4
gpt4 key购买 nike

目标:我正在尝试创建一个更有效的正则表达式来灵活捕获 SEPA 银行号码以进行表单验证。

背景:SEPA IBAN 号码具有以下模式:NL88ABNA1234567890

我的问题是关于最后的最后 9 或 10 个数字,例如0123456789。我想允许空格字符和破折号的任意组合,因为在提交之前会对数字进行清理,例如:-

  • 0123456789
  • 01-23-45-67-89
  • 01 23 45 67 89
  • 01 - 23 - 45 - 67 - 89
  • 012 345 67 89
  • 等等等等

我可以通过以下方式实现这一目标:-(\d(?:\s[\s-]\s|[\s-])?\d(?:\s[\s-]\s|[\s-])?\d (?:\s[\s-]\s|[\s-])?\d(?:\s[\s-]\s|[\s-])?\d(?:\s[\s-]\s|[\s-])?\d(?:\s[\s-]\s|[\s-])?\d(?:\s[\s-]\s |[\s-])?\d(?:\s[\s-]\s|[\s-])?\d(?:\s[\s-]\s|[\s-] )?\d?)

但是不太优雅

我尝试将捕获组与量词结合起来,但它只返回最后一位数字:-

(\d(?:\s?[\s-]\s?)?){9,10}

如何更有效地实现这一点并检查整个数字而不仅仅是最后一位数字?

最佳答案

您可以将此正则表达式与数字后面的可选空格和连字符一起使用:

/((?:\d[\s-]*){9,10})/

[\s-]* 每个数字后允许有 0 个或多个空格和连字符。

RegEx Demo

关于javascript - 将捕获组与 SEPA 银行编号的量词相结合的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35539075/

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