C# Regex to allow only alpha numeric
Sounds like you want:
^[a-zA-Z][a-zA-Z0-9]*$
EXPLANATION
^ asserts position at the start of a line
Match a single character present in the list below [a-zA-Z]
» a-z a single character in the range between a (index 97) and z (index 122) (case sensitive)
» A-Z a single character in the range between A (index 65) and Z (index 90) (case sensitive)
Match a single character present in the list below [a-zA-Z0-9]*
* Quantifier — Matches between zero and unlimited times, as many times as possible, giving back as needed (greedy)
a-z a single character in the range between a (index 97) and z (index 122) (case sensitive)
A-Z a single character in the range between A (index 65) and Z (index 90) (case sensitive)
0-9 a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)
$ asserts position at the end of a line
Demo
Just in case that the ASCII characters are at some point not enough, here the Unicode version:
^\p{L}[\p{L}\p{N}]*$
\p{L}
is any Unicode code point that has the property letter ==> Any letter from any language (that is in Unicode)
\p{N}
is any Unicode code point that has the property number ==> Any number character from any language (that is in Unicode)
^[a-zA-Z][a-zA-Z0-9]*$
Should do the trick!
Alternatively, if you wish to include all alphanumeric plus an underscore you can use:
^[a-zA-Z][\w]*$