Tôi cần một cụm từ thông dụng hoạt động trong PHP và JavaScript để xác thực số điện thoại địa phương, di động và freecall (0800) của New Zealand.Biểu thức chính quy để xác thực số điện thoại New Zealand
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, 080
Dưới đây là một biểu hiện thường xuyên Tôi tìm thấy trên web, nhưng nó dường như không làm việc vì một lý do:
(^ ([0] \ d {1})) (\ d {7 } $) | (^ ([0] [2] \ d {1})) (\ d {6,8} $) | ([0] [8] [0] [0]) ([\ s]) (\ d {5,8} $)
Ai đó có thể vui lòng trợ giúp với biểu thức ở trên không? Trước tiên xin cảm ơn sự giúp đỡ của bạn.
CẬP NHẬT - Tôi làm việc nó ra và giải pháp là dưới đây:
$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})$/';
Điều này có vẻ tốt và tôi đã thử nó bằng PHP nhưng nó không hoạt động vì một lý do nào đó. Bất cứ ai cũng có thể giúp đỡ? – Chris
@Chris: Tất cả những gì tôi có thể nói là biểu thức hoạt động (http://rubular.com/r/ynr28Fcwui). Bạn nên xem xét các tài liệu PHP. – Tomalak