【问题标题】:Allow Indian and US phone numbers in Laravel 5.4在 Laravel 5.4 中允许使用印度和美国的电话号码
【发布时间】:2017-08-03 02:03:49
【问题描述】:

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

  1. xxx-xxx-xxxx

  2. +91-xxxxxxxxxx

我不知道这个的正则表达式是什么。 我参考了一些网站并得到了这个

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

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

基本上,我只想允许印度和美国号码。

第二个问题:

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

【问题讨论】:

    标签: regex laravel-5.4


    【解决方案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-] 更改为-

    【讨论】:

    • 感谢这个作品完美期待 .(dot) 之一。我不想允许 +91.9966666666 或 999.999.9999
    • @Saroj 好的,我已经从答案中删除了点;P
    【解决方案2】:

    你在寻找类似^(\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

    【讨论】:

    • 这允许第一个但不允许下一个。
    • @Saroj 然后在 \+91 和 \d{10} 之间添加一个连字符
    • 谢谢 (123) 123-6547 & (999)-999-9999
    猜你喜欢
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 2010-09-15
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多