Ho creato un controllo di validazione x un prefisso e numero tel:

<asp:regularexpressionvalidator runat="server" ControlToValidate="tel" ValidationExpression="([0-9]{3}-[0-9]{6})|([0-9]{3}-[0-9]{7})" ErrorMessage="il numero telefonico non è corretto" Display="None"/>

Però se inserisco un numero di 6 cifre (corrispondente al 1°criterio)
funziona, se provo col 2° criterio mi da il messaggio di errore.
E' come se non vede il 2° criterio, ho provato anche mettendo || al posto di |, ma non cambia.