使用c#设置asp.net中每行的最小字符数限制

时间:2018-03-02 08:10:49

标签: c# asp.net

  • 我想设置极限min。每行5个字符和
  • 如果multiline textbox小于5 chars,我想显示消息。线。

这是我的代码。

string[] temp = Regex.Split(KeywordList.Text, "\r\n");
for (int i = 0; i < temp.Length; i++)
{
    if (temp[i].Length <= 4) //check characters limit
    {
        Response.Write("Please enter min 5 characters per line");
    }
    else
    {
        Response.Write("success");
    }
}

我的文本框包含分钟。几行中有5个字符,但上面的代码显示&#34;成功&#34;

任何人都可以帮我检测少于5个字符的行。

提前致谢,抱歉我的英语不好。

1 个答案:

答案 0 :(得分:2)

我建议使用 Linq Split初始字符串(请不要像<{1}}那样放置魔术值,但是{{1} })并检查"\r\n"项是否为Environment.NewLine个字符或更少:

Any

在您当前的代码中4过冲 if (KeywordList .Text .Split(new string[] {Environment.NewLine}, StringSplitOptions.None) .Any(item => item.Length <= 4)) Response.Write("Please enter min 5 characters per line"); else Response.Write("success"); 已经足够了),您似乎应该在Regex.Split之后添加String.Split行:

break

修改:如果你不确定分隔符(它们可以是Response.Write("Please enter min 5 characters per line"); - Unix, ... if (temp[i].Length <= 4) //check characters limit { Response.Write("Please enter min 5 characters per line"); break; // <- we have an error, no need to check more lines } ... - Windows,\n - Mac等)你可以在一次通话中尝试几个

\r\n

但是,我们必须消除空项:对于\n\r,我们需要 if (KeywordList .Text .Split(new char[] {'\r', '\n'}, StringSplitOptions.RemoveEmptyEntries) .Any(item => item.Length <= 4)) Response.Write("Please enter min 5 characters per line"); else Response.Write("success"); ,而不是"a\r\n\b"