У меня есть следующее регулярное выражение:
\+?[0-9\.,()\-\s]+$
, что позволяет:
- опционально + в начале
- затем цифры, точки, запятые, круглые скобки, тире и пробелы.
Кроме того, мне нужно убедиться, что количество цифр и символа плюс (если существует) имеет длину от 9 до 15 (поэтому я не считаю никаких специальных символов, кроме символа +).
И с этим последним состоянием у меня проблемы.
допустимые значения:
- + 358 (9) 1234567
- + 3 5 8,9,1-2 (3) 4..5,6.7 (25 знаков, но только 12 знаков, которые считаются (цифры и символ плюс))
неверный ввод:
- + 3 5 8,9,1-2 (3) 4..5,6.777777777 (33 символа и только 20 символов, число которых (цифры и символ плюс) слишком много)
Важно использовать регулярное выражение, если это возможно, потому что оно используется в аннотации javax.validation.constraints.Pattern как:
@Pattern(regexp = REGEX)
private String number;
где мой REGEX - это то, что я ищу здесь.
И если регулярное выражение не может быть предоставлено, то это означает, что мне нужно переписать мою реализацию проверки сущности. Так можно ли добавить такое условие в регулярное выражение или мне нужна функция для проверки такого шаблона?