【问题标题】:Regex digits with length and some specific characters具有长度和一些特定字符的正则表达式数字
【发布时间】:2017-04-25 13:08:09
【问题描述】:

我有一个电话号码输入字段,它必须:

  1. 允许空格以及“-”和“+”字符。
  2. 最多包含 12 个字符,包括特殊字符(例如 +12345678910)。

我试过了,但我最好的结果是ng-pattern="/^\+?\d{0,11}?$/"
如何使这项工作?

【问题讨论】:

  • 不清楚您的要求是什么。请添加一些您需要匹配的示例。
  • @Wiktor:还有什么不清楚的地方?
  • 不清楚字符/数字的长度是否包括您提到的额外“字符”等。显示您期望的示例...
  • 我编辑了我的问题。
  • 试试ng-pattern="/^(?!.{13})\+?\d[-\d]*$/"。抱歉,鉴于目前的要求,这将是一场猜谜游戏。

标签: regex angularjs-ng-pattern


【解决方案1】:

您似乎在尝试匹配电话号码?也许这有帮助:What regular expression will match valid international phone numbers?

否则,如果您的号码、+- 或空格没有特别的顺序或限制,这应该可以工作:/^[0-9\+\-\s]{1,12}$/

https://regex101.com/r/kuc5OF/2

【讨论】:

  • 感谢您的回答,但如何将长度限制为 12 个字符?
  • 您想限制所有字符的长度,包括特殊字符+- 和空格?那将是{1,12} 部分。
  • 是的,包括特殊的。我编辑了我的问题。这似乎不起作用 --> Test
  • ^/[0-9\+\-\s]{1,12}/$ - 您需要指定开始 ^ 和结束 $ 修饰符才能完全匹配。我更新了我的答案。
  • 不客气!只要它有效,就不会浪费任何时间。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 2022-11-16
  • 1970-01-01
  • 2021-09-06
  • 1970-01-01
  • 2011-06-17
相关资源
最近更新 更多