Jump to content
  • 0

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


Alarr
 Share

Question

Кто подскажет, как дополнить код, что бы написать регулярное выражение, которое позволит принимать только цифры в количестве от 6 до 30, и символы "(",")","+","-".

 

Вот этот код.
 

function validatePhone(phone) {
        var re = /^.{6,30}$/;
        return re.test(phone);
    }
 
Заранее спасибо:)
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
/^[0-9()+-]{6,30}$/

я бы туда ещё пробел добавил, люди часто в промежутки ставят пробелы, их потом можно вырезать если не нужны. Если что добавьте в квадратные скобки \s

Link to comment
Share on other sites

  • 0
/^[0-9()+-]{6,30}$/

я бы туда ещё пробел добавил, люди часто в промежутки ставят пробелы, их потом можно вырезать если не нужны. Если что добавьте в квадратные скобки \s

 

Прекрасно сработало, спасибо:) И пробелы тоже пригодились.

Link to comment
Share on other sites

  • 0
а я вот такую использую:

 

1. Если проверяем номера только для России то проверять на + толку нет. + используется в международном формате, а для России есть 8 для выхода на международнюю линию что равнозначно +.

Так что для России +7 и 8 можно вообще отбросить  и проверять только на код города и сам номер.

 

2. Код города в России может иметь и 4 цифры и более, а не только 3 =)) К примеру тел.код в одном из населенных пунктов Камчатки - 4154451

 

Так что зачастую можно просто проверять на + и просить пользователя вводить номер в международном формате =)) Ну может еще ограничить минимальное количество цифр после плюса. штук 5-6 )))

 

Кстати есть плагин для jQuery для проверки номеров со всеми кодами-шмодами, проверкой плана нумерации в РФ и других странах, названиями и т.д.

 

не помню как называется можете поискать. Но на мой взгляд он слишком тормозной если подтягиваешь файл со всеми масками.

 

UPD а вот нашел в закладках https://github.com/RobinHerbots/jquery.inputmask

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy