Why not just write a string extension method that uses regular .Net classes/methods. it would be much more efficient than using Regex.
public static bool ValidString(this string text)
{
bool result = true;
if (text.Length <= 30)
{
string lowCaseText = text.ToLower();
string validChars = "abcdefghijklmnopqrstuvwxyz 1234567890";
for (int i = 0; i < text.Length; i++)
{
if (!validChars.Contains(text[i]))
{
result = false;
break;
}
}
}
else
{
result = false;
}
return result;
}