2

我正在尝试创建一个正则表达式来强制用户仅输入 Twilio API 接受的格式的电话号码。带有 +40 形式的前缀(例如:+40123456789)不是 0040 且没有分隔符。只有字符 + 和数字。

到目前为止,我想出了这个\+\d{10,}

这是一个好的吗?如果没有,你能改进一下吗?

谢谢。

编辑:

  • 电话号码应包含国家的前缀和电话号码
  • 前缀不固定为 +40(罗马尼亚语前缀)。这只是一个例子。
  • 前缀应该以+not开头00
  • 数字不应有分隔符

好例子:+40123456789 坏例子:(074) 352-7819

4

2 回答 2

2

提供的模式将期望匹配一个加号,后跟 10 位数字。如果您的字符串以字母或空格或任何其他字符开头,则该正则表达式仍然会成功。

如果您想要以下内容:

  1. 以。。开始+40
  2. 共包含 10 位数字和加号)。
  3. 以上没有别的

以下应该可以解决问题^\+40\d{8}$此处提供了一个示例。

于 2015-04-15T07:42:51.617 回答
2

这是其文档中提供的最小正则表达式验证: ^\+[1-9]\d{1,14}$

Cfr:https ://www.twilio.com/docs/glossary/what-e164#regex-matching-for-e164

于 2020-02-25T09:25:34.000 回答