如何为此正则表达式添加条件?

How to add condition to this Regex?

如何添加条件,如果第一个字符是 4 则 16 位,如果 3 则 15 位?

这是我到目前为止尝试过的:

<ion-input
            ngModel name="CNumber"
            required 
            (ionChange)="C_number($event.target.value)" 
            (ionInput)="C_number($event.target.value)"  
            maxlength="{{Maxlength}}"
            type="tel"
            pattern="^(4)[0-9]{15}$"
            >

^(4)[0-9]{15}

如果第一个是 4 并且允许 16 个字符,这将接受,但是如何添加起始数字 3 以及什么时候它只接受 15 个字符?

我会尝试 simple.alternative:

^((4)[0-9]{15})|((3)[0-9]{14})$