Подтвердите номер телефона с помощью JavaScript - PullRequest
115 голосов
/ 02 декабря 2010

Я нашел этот код на каком-то сайте, и он отлично работает. Он подтверждает, что номер телефона имеет один из следующих форматов:
(123) 456-7890 или 123-456-7890

Проблема в том, что мой клиент (я не знаю почему, может быть, клиентские материалы) хочет добавить другой формат, десять чисел подряд, что-то вроде этого:

Я использую это регулярное выражение,

/^(\()?\d{3}(\))?(-|\s)?\d{3}(-|\s)\d{4}$/

Как я могу добавить, что он также проверяет другой формат? Я не хорошо с регулярными выражениями.

Ответы [ 26 ]

1 голос
/ 28 апреля 2019

Этот регистр подходит для международных телефонных номеров и нескольких форматов номеров мобильных телефонов.

Вот регулярное выражение: / ^ (+ {1} \ d {2,3} \ с [(] {1} \ D {1,3} [)] {1} \ s \ D + |? + \ Д {2,3} \ s {1} \ d + | \ d +) {1} [\ s | -]? \ d + ([\ s | -]? \ d +), {1,2} $ / * * 1003

Вот функция JavaScript

function isValidPhone(phoneNumber) {
    var found = phoneNumber.search(/^(\+{1}\d{2,3}\s?[(]{1}\d{1,3}[)]{1}\s?\d+|\+\d{2,3}\s{1}\d+|\d+){1}[\s|-]?\d+([\s|-]?\d+){1,2}$/);
    if(found > -1) {
        return true;
    }
    else {
        return false;
    }
}

Это подтверждает следующие форматы:

+ 44 07988-825 465 (с любой комбинацией дефисов вместо пробела, за исключением того, что только + пробел должен следовать за +44)

+ 44 (0) 7988-825 465 (с любой комбинацией дефисов вместо пробелов, за исключением того, что дефис не может существовать непосредственно до или после (0) и пробел до или после (0) не должен существовать)

123 456-789 0123 (с любой комбинацией дефисов вместо пробелов)

123-123 123 (с любой комбинацией дефисов вместо пробелов)

123 123456 (пробел можно заменить дефисом)

1234567890

Для всех форматов не может быть двойных пробелов или двойных дефисов.

0 голосов
/ 29 марта 2019

попробуйте

/^[\+]?\d{2,}?[(]?\d{2,}[)]?[-\s\.]?\d{2,}?[-\s\.]?\d{2,}[-\s\.]?\d{0,9}$/im

допустимые форматы:

  1. (123) 456-7890
  2. (123) 456-7890
  3. 123-456-7890
  4. 123.456.7890
  5. 1234567890
  6. + 31636363634
  7. + 3 (123) 123-12-12
  8. + 3 (123) 123-12-12
  9. + 3 (123) 1231212
  10. + 3 (123) 12312123
  11. 075-63546725
0 голосов
/ 20 декабря 2018

Попробуйте эту функцию JS.Возвращает true, если совпадает, и false, если не удается Ref

function ValidatePhoneNumber(phone) {
        return /^\+?([0-9]{2})\)?[-. ]?([0-9]{4})[-. ]?([0-9]{4})$/.test(phone);
}
0 голосов
/ 18 июля 2018

Слишком много вариантов регулярных выражений для проверки номера телефона.Я рекомендую эту статью: JavaScript: HTML-форма - проверка номера телефона , где для каждого случая указано несколько вариантов.Если вы хотите углубиться в regex для пользовательского выражения, вы можете просмотреть эту документацию .

0 голосов
/ 23 июня 2019

Подтвердите номер телефона по индийскому стандарту, например, начните с 6,7,8 или 9, и общая цифра должна быть 10

Решение протестировано и работает

if(phone=='')       
{
    alert("please fill out the field");
}


if ($('#phone').val()!="")
{
    if(!phoneno.test(phone)) 
    {
        alert("enter valid phone number with indian standard.")
        exit;
    }
    else
    {
        alert("valid phone number");
    }
}
0 голосов
/ 04 апреля 2017

Простое регулярное выражение: /\b\d{3}[-.]?\d{3}[-.]?\d{4}\b/g

Проверьте формат, надеюсь, оно работает:
444-555-1234
f: 246.555.8888
m: 1235554567

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...