我正在写一个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
这里的空格只是为了清晰起见,我在剥离所有空格和非字母数字字符后进行验证.
就是这样,如果有人可以提供帮助,那就太好了.谢谢
小智 6
我确信有一种更为灵巧的方式,但是
^(961(3|70|71)|(03|70|71))\d{6}$
Run Code Online (Sandbox Code Playgroud)
似乎工作,假设我理解要求.
^((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
Run Code Online (Sandbox Code Playgroud)