[英]Set minimum characters limit per line in asp.net using c#
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");
}
}
我的文本框包含min。 幾行中有5個字符但代碼上面顯示“成功” 。
任何人都可以幫我檢測少於5個字符的行。
在此先感謝,抱歉我的英語不好。
我建議使用Linq : Split
初始字符串(請不要像"\\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
就足夠了),似乎你應該在Response.Write("Please enter min 5 characters per line");
之后添加break
Response.Write("Please enter min 5 characters per line");
線:
...
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
}
...
編輯 :如果您不確定分隔符(它們可以是\\n
- Unix, \\r\\n
- Windows, \\n\\r
- Mac等),您可以在一個調用中嘗試多個分隔符
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"
我們想要["a", "b"]
,而不是["a", "", "b"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.