我正在学习在最多30个字符的字符串上创建正则表达式查询(主要用于名字和姓氏)
我正在使用asp.net C#
但我似乎找不到与我编写的代码正确的代码
[WebMethod]
public bool stringOnlyAndLimit(String strToCheck)
{
Regex stringonly = new Regex("[^a-zA-Z]{1,30}");
return !stringonly.IsMatch(strToCheck);
}
提前致谢
最佳答案
如果您想学习RegEx,请忽略此答案,否则
非正则表达式选项。
您不需要Regex这样的东西,可以这样做:
public bool stringOnlyAndLimit(String strToCheck)
{
return strToCheck.Length < 31 && strToCheck.All(r => char.IsLetter(r));
//return strToCheck.Length < 31 && !strToCheck.Any(r => char.IsDigit(r));
}
使用RegEX
public static bool stringOnlyAndLimit(String strToCheck)
{
Regex stringonly = new Regex("^[a-zA-Z ]{1,30}$");
return stringonly.IsMatch(strToCheck);
}