Using Regex OR operator to solve 2 conditions
I think you want to group the conditions:
Regex.IsMatch(s, "^(([A-Z]\d{8})|(\d{9}))$")
The ^ and $ represent the beginning and end of the line, so you don't want them considered in the or condition. The parens allow you to be explicit about "everything in this paren" or "anything in this other paren"