我需要一个在PHP和JavaScript中都能使用的正则表达式,用于验证新西兰本地、移动和免费电话(0800)号码。
以下是我在网上找到的正则表达式,但出于某些原因它似乎不起作用:
(^([0]\d{1}))(\d{7}$)|(^([0][2]\d{1}))(\d{6,8}$)|([0][8][0][0])([\s])(\d{5,8}$)
请问有人可以帮忙解决上面的表达式吗?感谢您的帮助。
更新 - 我解决了问题,并将解决方案如下:
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})$/';