是否可以使用正则表达式进行检查:
- 完整的字符串是数字和
- 第一个字符是 7 或 8,那么字符串的完整长度必须是 11或
- 第一个字符是 1 那么字符串的完整长度必须是 10
- 或者第一个字符是 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,在 pos 8 上是 8 -> 匹配
- 0 000000 7 5556987456 -> 以 0 开头,长度为 18,在 pos 8 上为 7 -> 匹配
- 0 0000000 1 556987456 -> 以 0 开头,长度为 18,在 pos 9 上是 1 -> 匹配
谢谢!