允许Laravel 5.4中的印度和美国电话号码

时间:2017-06-07 10:26:31

标签: regex laravel-5.4

我想只允许某些特定类型的电话号码格式。 例如:

  1. xxx-xxx-xxxx

  2. + 91-XXXXXXXXXX

  3. 我不知道这是什么正则表达式。 我提到了一些网站并得到了这个

    /^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$/
    

    适用于第一种但不适用于+91格式。

    基本上,我只想允许印度和美国的数字。

    第二个问题:

    我想要一个正则表达式,它允许+, - ,(,)和数字,即0-9。

2 个答案:

答案 0 :(得分:1)

你在找^(\d{3}-\d{3}-\d{4}|\+91 \d{10})之类的东西吗? example
如果您使用群组

,这两个数字都会以这种方式放在第一组中

编辑:

你正在寻找这样的人吗?这允许将所有数字分开,所有内容都用字母或数字(\d{3}[^\d\w]\d{3}[^\d\w]\d{4}|\+91[^\d\w]\d{10})组成 example

答案 1 :(得分:1)

以下建议接受您的输入,分隔符.-

\+91[\s-]\d{10}|\(?\d{3}\)?[\s-]\d{3}[\s-]\d{4}

Try it on regex101

以下输入有效:

123-456-7890
123 456 7890
(123) 123-6547
(999)-999-9999
+91-1234567890
+91 1234567890

如果您只想接受-作为分隔符,请在正则表达式中将所有[\s-]更改为-