Как написать шаблон регулярных выражений из моей функции для проверки пользовательских телефонных номеров? - PullRequest
0 голосов
/ 23 октября 2018

У меня есть своя функция для проверки номера телефона:

function isPhoneNumber(phone) {
    var regexForPhoneWithCountryCode = /^[0-9+]*$/;
    var regexForPhoneWithOutCountryCode = /^[0-9]*$/;
    var tajikPhone = phone.substring(0,4);
    if(tajikPhone == "+161" && phone.length !== 13) {
        return false;
    } 
    if(phone.length == 9 && phone.match(regexForPhoneWithOutCountryCode)) {
        return true;
    } else if(phone.length > 12 && phone.length < 16 && phone.match(regexForPhoneWithCountryCode)) {
        return true;
    } else return false;
}

Моя функция также работает, но не полностью.

Правила проверки номера телефона:

  • Максимальная длина: 13
  • Минимальная длина: 9

При максимальной длине == 13:

  • Содержит только: 0-9 +
  • Первый матч персонажа: +
  • 3 символа после " + " должныбыть: 161

При максимальной длине == 9:

  • Содержать только: 0-9

Пример действительных чисел:

  • + 161674773312
  • 674773312

1 Ответ

0 голосов
/ 23 октября 2018

Очень простой метод, который вы можете использовать:

function isPhoneNumber(phone) {
    if (phone.match(/^(?:\+161)?\d{9}$/) {
        return true;
    } else {
        return false;
    }
}
...