gpt4 book ai didi

regex - 正则表达式匹配字符串中任意位置的一定数量的数字

转载 作者:行者123 更新时间:2023-12-04 17:32:37 24 4
gpt4 key购买 nike

我正在尝试使用 angular 的 ng-pattern 属性来强制输入框中的文本匹配特定的正则表达式。我这样做是为了表单验证。我使用它的输入是电话字段。电话字段可以接受 10 位电话号码,但我不想要求我的用户使用特定格式,除非它必须在某处包含 10 位电话号码。所以这两个都是有效的。

  • 555-555-5555
  • (555) 555-5555

  • 在后端,我只会删除所有格式并存储原始数字。在过去,我所做的是删除所有非数字字符,然后确保长度 == 10。这很简单,只需几行代码就可以完成,但是正则表达式可以处理吗?这不是我试图让正则表达式做的事情。我不想支持特定格式,因为我不在乎他们是否不小心输入了额外的空格,或者他们是否想像这样输入他们的电话号码:55-55-55-55-55。这对我来说真的无关紧要,我只希望正则表达式匹配是否有 10 位数字并且字符串中没有更多数字。

    感谢您的帮助!

    最佳答案

    要在带有正则表达式的字符串中仅允许 10 位数字,不多不少,您可以使用

    ^(?:\D*\d){10}\D*$

    demo ( \D 替换为 [^\d\n] 以排除仅用于演示的换行符)。

    (\d\D*?){10} regex 将在超过 10 位数字的字符串中找到匹配项。

    关于regex - 正则表达式匹配字符串中任意位置的一定数量的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32017494/

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