2014-11-05 4 views
1

мне нужно написать регулярное выражение, которое будет соответствовать только этот форматируетRegex для номера телефона в международном формате

+420 000 000 000 
+420000000000 
420 000 000 000 
420000000000 

Это не может соответствовать любому азу символа в любой части строки, просто цифры, пробел и " + "в начале.

ответ

6

Вы можете попробовать ниже регулярное выражение,

^\+?\d{3} ?\d{3} ?\d{3} ?\d{3}$ 

DEMO

  • ^ Утверждает, что мы находимся в самом начале.
  • \+? факультативные +
  • \d{3} Похожее ровно три цифры.
  • <space>? дополнительное место
  • $ Утверждает, что мы находимся в конце.
+0

Работа отлично, если я хотел бы добавить еще один? –

+0

0905 222 222 например? –

+0

@ user1999739 Мой ответ/регулярное выражение должно работать для вашего примера ('0905 222 222')! – Rizier123

0

Это регулярное выражение должно работать для вас:

$mobileNumber = "0905 222 222"; 

if (preg_match("/^(\+?)([0-9] ?){9,20}$/", $mobileNumber)) 
      echo "matches!"; 
Смежные вопросы