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]*$

Tags:

C#

Regex