Regexp номер телефона
От: SaZ  
Дата: 14.12.09 15:21
Оценка:
Доброго времени суток. У меня не получается найти / написать регэксп для поиска номеров телефонов в международном формате, например +123(45) 67890-12. Пробовал искать здесь, но ничего, удовлетворяющего различные виды телефонных номеров не нашёл. Нужен регэксп для различных вариаций от +123456789012 до +123 (45) 6789-012 (наподобие того, как реализовано выделение телефонных номеров в skype toolbar-ах).
Re: Regexp номер телефона
От: neFormal Россия  
Дата: 14.12.09 15:27
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Доброго времени суток. У меня не получается найти / написать регэксп для поиска номеров телефонов в международном формате, например +123(45) 67890-12. Пробовал искать здесь, но ничего, удовлетворяющего различные виды телефонных номеров не нашёл. Нужен регэксп для различных вариаций от +123456789012 до +123 (45) 6789-012 (наподобие того, как реализовано выделение телефонных номеров в skype toolbar-ах).


может это?.
phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/

http://javascript.about.com/library/blre.htm
...coding for chaos...
Re[2]: Regexp номер телефона
От: SaZ  
Дата: 14.12.09 15:36
Оценка:
Здравствуйте, neFormal, Вы писали:

F>Здравствуйте, SaZ, Вы писали:


SaZ>>Доброго времени суток. У меня не получается найти / написать регэксп для поиска номеров телефонов в международном формате, например +123(45) 67890-12. Пробовал искать здесь, но ничего, удовлетворяющего различные виды телефонных номеров не нашёл. Нужен регэксп для различных вариаций от +123456789012 до +123 (45) 6789-012 (наподобие того, как реализовано выделение телефонных номеров в skype toolbar-ах).


F>может это?.

F>
F>phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
F>

F>http://javascript.about.com/library/blre.htm

Не. Как-то даже из моего вопроса примеры не прокатили =\
Re: Regexp номер телефона
От: Lloyd Россия  
Дата: 14.12.09 15:50
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Доброго времени суток. У меня не получается найти / написать регэксп для поиска номеров телефонов в международном формате, например +123(45) 67890-12. Пробовал искать здесь, но ничего, удовлетворяющего различные виды телефонных номеров не нашёл. Нужен регэксп для различных вариаций от +123456789012 до +123 (45) 6789-012 (наподобие того, как реализовано выделение телефонных номеров в skype toolbar-ах).


Между указанными номерами общее то, что они начинаются с "+" (опционально) затем — двенадцать цифр, разделенных взяким "хламом" (" ", "(", ")", "-"). Исходя из этого можно составить такой регекс:
^\+([\s\(\)\-]*\d[\s\(\)\-]*){12}$
Re[2]: Regexp номер телефона
От: SaZ  
Дата: 14.12.09 16:00
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, SaZ, Вы писали:


SaZ>>Доброго времени суток. У меня не получается найти / написать регэксп для поиска номеров телефонов в международном формате, например +123(45) 67890-12. Пробовал искать здесь, но ничего, удовлетворяющего различные виды телефонных номеров не нашёл. Нужен регэксп для различных вариаций от +123456789012 до +123 (45) 6789-012 (наподобие того, как реализовано выделение телефонных номеров в skype toolbar-ах).


L>Между указанными номерами общее то, что они начинаются с "+" (опционально) затем — двенадцать цифр, разделенных взяким "хламом" (" ", "(", ")", "-"). Исходя из этого можно составить такой регекс:

L>
L>^\+([\s\(\)\-]*\d[\s\(\)\-]*){12}$
L>


Я вижу себе это так:
Сначала идёт "+" и код страны (от 1 до 3 цифр). Потом код оператора, от 2 до 3 цифр, потом 7 цифр (с произвольным мусором между ними: пробелы или дефисы) — сам номер телефона. Код оператора отделён мусором (ничего, пробел или дефис), возможно взят в скобки.

Буду благодарен за помощь в составлении, поскольку моих навыков пока не достаточно.
Re[3]: Regexp номер телефона
От: Roman Odaisky Украина  
Дата: 15.12.09 12:18
Оценка:
Здравствуйте, SaZ, Вы писали:

SaZ>Сначала идёт "+" и код страны (от 1 до 3 цифр). Потом код оператора, от 2 до 3 цифр, потом 7 цифр (с произвольным мусором между ними: пробелы или дефисы) — сам номер телефона. Код оператора отделён мусором (ничего, пробел или дефис), возможно взят в скобки.


Да-да-да.

+44 20 7766 7300 (он же 020 7766 7300).

Или +44 1697 73456.

?
До последнего не верил в пирамиду Лебедева.
Re[4]: Regexp номер телефона
От: SaZ  
Дата: 15.12.09 12:31
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Здравствуйте, SaZ, Вы писали:


SaZ>>Сначала идёт "+" и код страны (от 1 до 3 цифр). Потом код оператора, от 2 до 3 цифр, потом 7 цифр (с произвольным мусором между ними: пробелы или дефисы) — сам номер телефона. Код оператора отделён мусором (ничего, пробел или дефис), возможно взят в скобки.


RO>Да-да-да.


RO>+44 20 7766 7300 (он же 020 7766 7300).


RO>Или +44 1697 73456.


RO>?


В общем вопрос оказался нерешаемым наскоком, было решено сделать фичу, чтобы кастомер мог вручную определять маски номеров
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.