HI @Anonymous ,
Could you please share a bit more about the "********" that you mentioned? Does it represent any character or just letter?
Based on the needs that you mentioned, I think the IsMatch function could achieve your needs. I have made a test on my side, please take a try with the following workaround:

Set the OnChange property of the Text Input Box to following:
If(
!IsMatch(TextInput1.Text, "2800(.{6})\.(.{6})\.(.{6})") && !IsMatch(TextInput1.Text, "2800(.{6})\.(.{6})"),
Notify("The value you typed do not match the required format. 2800******.******.****** or 2800******.******", NotificationType.Error);Reset(TextInput1)
);
Please check the following GIF screenshot for more details:

Please take a try with above solution, then check if the issue is solved.
Best regards,