Выражение регулярного выражения для проверки номера телефона в определенной последовательности c - PullRequest
0 голосов
/ 27 апреля 2020

Привет. Я пытаюсь подтвердить номер телефона в моем коде. Проверка состоит в том, что число является недействительным, если оно находится в любой из следующих последовательностей -

111-111-1111
333-333-3333
444-444-4444
123-123-1234
123-456-7890

Любое число (в этой последовательности xxx-xxx-xxxx), отличное от указанных выше, является действительным и не должно быть пойманный в валидации Я придумал это регулярное выражение для валидации первых трех последовательностей

^([0-9])\1{2}\1{3}\1{4}$

Любая помощь будет отличной помощью.

1 Ответ

1 голос
/ 27 апреля 2020

Простым решением является сохранение List ограниченной серии / номера, а затем проверка номера телефона, если он принадлежит List.

. Сделайте это следующим образом:

import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<String> restrictedList = List.of("111-111-1111", "333-333-3333", "444-444-4444", "123-123-1234",
                "123-456-7890");
        String[] testNumbers = { "444-444-4544", "444-444-4444", "121-111-1111", "333-343-3333", "123-123-1234",
                "123-456-7890", "123-465-7890", "213-123-1234", "1234567890", "111-111-1111", "a1b2c3d4e5",
                "333-333-3333", "223-334-4445", "2134-12-4321", "100-200-3000", "011-243-7234" };
        for (String number : testNumbers) {
            if (number.matches("[1-9]{1}[0-9]{2}-[0-9]{3}-[0-9]{4}") && !restrictedList.contains(number)) {
                System.out.println(number + " is valid.");
            } else {
                System.out.println(number + " is invalid.");
            }
        }
    }
}

Вывод:

444-444-4544 is valid.
444-444-4444 is invalid.
121-111-1111 is valid.
333-343-3333 is valid.
123-123-1234 is invalid.
123-456-7890 is invalid.
123-465-7890 is valid.
213-123-1234 is valid.
1234567890 is invalid.
111-111-1111 is invalid.
a1b2c3d4e5 is invalid.
333-333-3333 is invalid.
223-334-4445 is valid.
2134-12-4321 is invalid.
100-200-3000 is valid.
011-243-7234 is invalid.

Примечание: Я использовал [1-9]{1}[0-9]{2}-[0-9]{3}-[0-9]{4} в качестве формата номера телефона, предполагая, что первый ди git не может быть 0.

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