Можно ли проверить с помощью регулярного выражения:
- полная строка - это числа И
- первый символ - это 7 или 8, затем полная длина строки должно быть 11 OR
- первый символ - 1, тогда полная длина строки должна быть 10
- OR первый Если символ равен 0, то полная длина строки должна быть 18 И для символа 8 должно быть 8 или 7 ИЛИ для символа 9 должно быть 1
Надеюсь, вы понимаете, что я имею в виду. Надеюсь, примеры помогут вам понять, что я имею в виду.
Вот мое решение (не работает полностью-> Я не знаю, как проверить, начинается ли оно с 0 и имеет длину 18 символов символ в позиции 8 должен быть 7или 8 или в позиции 9 символ должен быть 1):
^(?:[78]\d{10}|[1-69]\d{9}|[0]/d{18})$
Например:
- 8 5556987456 -> начинается с 8 и длина 11 -> соответствует
- 7 5556987456 -> начинается с 7 и длина 11 -> соответствует
- 1 555698745 -> начинается с 1 и длина 10 -> соответствует
- 0 000000 8 5556987456 -> начинается с 0, длина 18, а на позиции 8 - 8 -> соответствует
- 0 000000 7 5556987456 -> начинается с 0, длина 18, а на позиции 8 - 7 -> совпадение
- 0 0000000 1 556987456 -> начинается с 0, длина - 18, а на позиции 9 - 1 -> соответствует
Спасибо!