[英]PHP regex for Lebanese phone number
我正在写一个php应用程序,询问人们在黎巴嫩的电话号码。 我不希望在输入格式中非常严格,所以我遇到了一些麻烦的验证。
黎巴嫩的电话号码就是这样的。
961 3 123456
961 :国家代码。 我想要它有或没有它是有效的。
3 :区号。 这里很棘手。 可能的区号是03,70和71.当国家代码存在时,03降低0并变为3而70和71是有或没有国家代码。
123456 :电话号码,总是6位数。
这是我正在尝试验证的格式:
961 3 123456
961 70 123456
961 71 123456
03 123456
70 123456
71 123456
这里的空格只是为了清晰起见,我在剥离所有空格和非字母数字字符后进行验证。
就是这样,如果有人可以提供帮助,那就太好了。 谢谢
我确信有一种更为灵巧的方式,但是
^(961(3|70|71)|(03|70|71))\d{6}$
似乎工作,假设我理解要求。
^((961)?(7(0|1))|(961|0)3)[0-9]{6}$
它是这三个正则表达式的组合:
(961)?(7(0|1)) // 70 and 71 prefixes
(961|0)3 // (0)3 prefix
[0-9]{6} // main number
允许空格或常用分隔符(虽然我知道你说你不关心它们):
^((961[\s+-]*(3|7(0|1)))|(03|7(0|1)))[\s+-]*\d{6}$
这个正则表达式处理黎巴嫩的所有区域代码https://en.wikipedia.org/wiki/Telephone_numbers_in_Lebanon
^(?:\+961|961)?(1|0?3[0-9]?|[4-6]|70|71|76|78|79|7|81?|9)\d{6}$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.