2014-02-17 2 views
0

Привет мне нужно регулярное выражение для проверки номера телефона для ниже форматеРегулярное выражение для проверки номера телефона

+1-646-222-3333 

Я написал выражение как

^(+)([0-9]{3}-[0-9]{3}-[0-9]{4}) 

но не работает. Могу ли я узнать, где я ошибся?

+0

Вы можете использовать libphonenumber Google, он предназначен для обработки, ну, номера телефонов – fge

ответ

3

Попробуйте это:

String str = "+1-646-222-3333"; 
    if(str.matches("\\+\\d-\\d{3}-\\d{3}-\\d{4}")) { 
     System.out.println("Valid number"); 
    }else { 
     System.out.println("Invalid number"); 
    } 
+0

просто превосходный thanx :) –

2

Я думаю, что вам не хватает 1 в начале. И если вы не хотите, чтобы какой-либо строки косую, то вы должны пометить конец строки $.

^(\+)([0-9]-[0-9]{3}-[0-9]{3}-[0-9]{4})$ 
    ^

EDIT: Как уже отмечалось, + должны быть экранированы.

+2

Кроме того, '+' должен быть экранирован. –

+0

Упс! Отмечено, спасибо –

0

ли как этот

^(\\+1)-([0-9]{3}-[0-9]{3}-[0-9]{4}) 
    ^
     put this 
0
^(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$ 
Смежные вопросы