【发布时间】:2012-04-08 16:13:11
【问题描述】:
我需要一个适用于 PHP 和 JavaScript 的正则表达式来验证新西兰本地、移动和免费电话 (0800) 电话号码。
Matches: (09)1234567, (021)123456, (021)1234567, (027)123456, 0800 12345, 0800 1234578
Non-Matches: (09)123456 , (021)12345 , (031)1234567, (027)12345 , 0800-1234, 0800123456789
下面是我在网上找到的一个正则表达式,但由于某种原因它似乎不起作用:
(^([0]\d{1}))(\d{7}$)|(^([0][2]\d{1}))(\d{6,8}$ )|([0][8][0][0])([\s])(\d{5,8}$)
有人可以帮忙解决上面的表达式吗?提前感谢您的帮助。
更新 - 我解决了,解决方案如下:
$phone_number = preg_replace('/[^\d\(\)]/', '', $phone_number);
$pattern = '/^(\((03|04|06|07|09)\)\d{7})|(\((021|022|025|027|028|029)\)\d{6,8})|((0508|0800|0900)\d{5,8})$/';
【问题讨论】:
标签: php javascript regex