繁体   English   中英

PHP-验证电话号码

[英]PHP - Validate phone number

我需要在PHP中验证电话号码,但以下示例不起作用。

$phone = '(123) 458-1542';

if(preg_match("/^([0-9]{3})-[0-9]{3}-[0-9]{4}$/", $phone)) {

}

添加一个空格并避开圆括号:

^\([0-9]{3}\)[- ][0-9]{3}-[0-9]{4}$
 ^^        ^^^^^^

观看演示

我添加了字符类 [- ] ,以防区号后可以有空格连字符。 必须将括号转义才能将其视为文字符号而不是分组构造

PHP演示

$phone = '(123) 458-1542';
if(preg_match('~^\([0-9]{3}\)[- ][0-9]{3}-[0-9]{4}$~', $phone)) {
    echo "Matched: $phone";
}

使用此正则表达式:

^\(*\+*[1-9]{0,3}\)*-*[1-9]{0,3}[-. /]*\(*[2-9]\d{2}\)*[-. /]*\d{3}[-. /]*\d{4} *e*x*t*\.* *\d{0,4}$

以下电话号码已经过测试:

1-234-567-8901
1-234-567-8901 x1234
1-234-567-8901 ext1234
1 (234) 567-8901
1.234.567.8901
1/234/567/8901
12345678901
1-234-567-8901 ext. 1234
(+351) 282 433 5050

例如: http//www.regexr.com/3bp4b

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM