This regexp could be improved IMO. There are a lot of extra groups or unnecessary limiting.

If I understand it correctly, this one should work:
```
/^((00|\+)?8801[156789][0-9]{8}|0?1[156789][0-9]{8})$/
```

Or if you want to avoid repeating the `1[156789][0-9]{8}` part:
```
/^(((00|\+)?88)0|0?)1[156789][0-9]{8}$/
```

Question, is `881617738438` a valid number?
If so, you will have to use this one instead:
```
/^((00|\+)?88)?0?1[156789][0-9]{8}$/
```