I want to check if a string inputted in a character between a-z or A-Z. Somehow my regular expression doesn't seem to pick it up. It always returns true. I am not sure why, I gather it has to do with how I am writing my regular expression. Any help would be appreciated.
private static bool isValid(String str)
{
bool valid = false;
Regex reg = new Regex((@"a-zA-Z+"));
if (reg.Match(str).Success)
valid = false;
else
valid = true;
return valid;
}
The right way would be like so:
private static bool isValid(String str)
{
return Regex.IsMatch(str, @"^[a-zA-Z]+$");
}
This code has the following benefits:
Regex reg = new Regex("^[a-zA-Z]+$");
^
start of the string []
character set\+
one time or the more $
end of the string^
and $
needed because you want validate all string, not part of the string
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With