我正在学习在最多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);
}

10-08 09:04