gpt4 book ai didi

html - Angular2/4 电话验证

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:11 26 4
gpt4 key购买 nike

我正在尝试在 Angular 2/4 中实现一个表单。有一个电话号码字段。我使用正则表达式作为

pattern="^\s*(?:\+?(\d{1,3}))?[- (]*(\d{3})[- )]*(\d{3})[- ]*(\d{4})(?: *[x/#]{1}(\d+))?\s*$"

在相应的输入字段中。它接受几乎所有格式,但不接受以下格式:

  1. 754-3010(本地)

  2. (541) 754-3010(国内)

  3. +1-541-754-3010(国际)

此外,它应该接受 +、-、( 和 ) 字符。

希望有人能帮上忙

最佳答案

您可以使用可选的非捕获组使正则表达式的一部分成为可选的。

使用

^\s*(?:\+?\d{1,3})?[- (]*\d{3}(?:[- )]*\d{3})?[- ]*\d{4}(?: *[x/#]\d+)?\s*$
^^^ ^^

参见 regex demo

请注意,{1} 是多余的,您可以将其删除。

至于捕获组,如果你需要它们,你可以保留你原来的那些,但如果你只是验证,我宁愿删除它们。

详情

  • ^ - 字符串的开始
  • \s* - 0+ 个空格
  • (?:\+?\d{1,3})? - 一个可选序列:
    • \+? - 可选(1 或 0)+ 符号
    • \d{1,3} - 任何 1 到 3 位数字
  • [- (]* - 一个-,空格或(
  • \d{3} - 任意 3 位数字
  • (?:[- )]*\d{3})? - 一个可选序列:
    • [- )]* - 0+ -,空格或 )
    • \d{3} - 任意 3 位数字
  • [- ]* - 0+ 个空格或 -
  • \d{4} - 任意 4 位数字
  • (?: *[x/#]\d+)?
  • \s* - 0+ 个空格
  • $ - 字符串结尾。

关于html - Angular2/4 电话验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46422160/

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