Is it possible to check with regex:
- the complete string are numbers AND
- the first character is a 7 or 8 then the complete length of the string must be 11 OR
- the first character is a 1 then the complete length of the string must be 10
- OR the first character is a 0 then the complete length of the string must be 18 AND on character 8 must be a 8 or 7 OR on character 9 must be a 1
I hope you can see what I mean. Hope the examples will help you to know what I mean.
Here is my solution(not working completely-> I don't know how to check if in case it starts with a 0 and it is 18 characters long the character on position 8 must be 7or8 or on position 9 the character must be 1):
^(?:[78]\d{10}|[1-69]\d{9}|[0]/d{18})$
For example:
- 85556987456 -> starts with 8 and length is 11 -> match
- 75556987456 -> starts with 7 and length is 11 -> match
- 1555698745 -> starts with 1 and length is 10 -> match
- 000000085556987456 -> starts with 0 and length is 18 and on pos 8 is a 8 -> match
- 000000075556987456 -> starts with 0 and length is 18 and on pos 8 is a 7 -> match
- 000000001556987456 -> starts with 0 and length is 18 and on pos 9 is a 1 -> match
Thank you!