Простым решением является сохранение 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
.