Для проверки номера телефона нет такого понятия, как регулярное выражение ... Действительно, забудьте об этом. :-)
Есть десятки форматов по всему миру, а иногда и внутри самих стран. Это означает, что у вас нет никакой гарантии на количество цифр - что, кстати, это может быть всего лишь две цифры и, возможно, даже одна цифра.
Добавление оскорбления к ранению, каждое место, по-видимому, имеет свой собственный способ представить номера телефонов: с местным кодом и региональными кодами или без, с множеством скобок, скобок, тире, точек, пробелов, букв и даже слов; вы называете это. В некоторых странах местные жители даже не могут договориться о том, как он должен быть отформатирован между собой за один и тот же номер.
В конце вы можете исправить свое регулярное выражение, добавив материал в свои скобки, например. [\d \-\)\(\+\.a-zA-Z]
. Но, в конце концов, все равно будет не так, как если бы вам понадобился непустой почтовый индекс из-за соображений длины или какого-то края, в котором участвовали причудливые символы, которые вы еще не определили.
Единственный способ по-настоящему убедиться в том, чтобы набрать номер и фактически разместить звонок.
Вы говорите о Javascript, Ruby или iOS regexes? (у вас есть теги для всех). И вы что-то пробовали, или просто хотите, чтобы мы выполнили ваши требования? – tessi
@tessi Это для рубиновых регулярных выражений. Я полагаю, что регулярное выражение должно быть одинаковым независимо от того, какой язык вы используете. Разве они не были? То, что я пытаюсь, это^([\ d \ - \) \ (\ + \. [A-zA-Z0-9]] {10,16}) $. Я не уверен, что это допустит любой недопустимый случай, поскольку я не эксперт по регулярному выражению, поэтому я разместил этот вопрос. – Raghu
* «Я полагаю, что регулярное выражение должно быть одинаковым независимо от того, какой язык вы используете» * В идеальном мире да, но разные языки поддерживают разные функции регулярных выражений, поэтому это имеет значение. Я удалил другие теги, поскольку вы, похоже, интересуетесь только Ruby. –