Регулярные выражения PHP (номер телефона)

У меня проблемы с регулярным выражением для телефонных номеров. Я пытаюсь создать как можно более широкое регулярное выражение для европейских телефонных номеров. Телефонный номер может начинаться с + или с двух ведущих нулей, за которыми следует число от 0 до 40. Однако в этом нет необходимости, поэтому эту первую часть также можно игнорировать. После этого все должны быть числами, сгруппированными в пары по крайней мере по два, с пробелом или - между группами.

Составленное мной регулярное выражение можно найти ниже.

/((\+|00)+[0-4]+[0-9]+)?([ -]?[0-9]{2,15}){1,5}/

Это должно соответствовать следующим структурам

0031 34-56-78
0032123456789
0033 123 456 789
0034-123-456-789

+35 34-56-78
+36123456789
+37 123 456 789
+38-123-456-789
...

То, что оно также соответствует, согласно моему javascript

+32 a54b 67-0:

Так что я, должно быть, где-то сделал ошибку, но я действительно не вижу ее. Любая помощь будет оценена по достоинству.

6
задан Michiel Standaert 24 October 2011 в 12:23
поделиться