2010-09-27 13 views
4

Как я могу проверить на C#, что есть пробел только в текстовом поле и выполнить некоторую операцию после этого?C# проверка пробела в текстовом поле

+1

Вы просто хотите знать, если это имеет белое пространство в нем? Или допустима пустая строка? если вы действительно хотите использовать пробел, вы можете использовать регулярное выражение. pattern =^\ s + $ – jimplode

+1

"только пробел". –

+0

Как выглядит 10 000 просмотров? :( – AgentFire

ответ

15

Это гарантирует, что в вашем чеке будет обнаружено несколько мест.

bool hasAllWhitespace = txtBox1.Text.Length>0 && 
         txtBox1.Text.Trim().Length==0; 

Для проверки только одного пространства:

bool hasSingleWhitespace = txtBox1.Text == " "; 
+0

хороший универсальный золь – maztt

5

Проверьте Text свойство текстового поля с помощью string.IsNullOrWhiteSpace.

if (string.IsNullOrWhiteSpace(myTextBox.Text) && myTextBox.Text.Length > 0) 
{ 
    // do stuff 
} 

Поскольку IsNullOrWiteSpace возвращает истину, если текстовое поле пустое (или свойство равно нулю), добавив, что Length проверка гарантирует, что есть что-то в текстовое поле. Сочетание тестов гарантирует истинность, если в текстовом поле есть только пробел.

0
if (txtBox.Text.equals(" "))) 
{ 
// your code goes here 
} 
+1

это только найдет пробел, не все пробелы. – jimplode

+1

если я вхожу в 10 пробелов, то что? – maztt

+2

@mazhar kaunain baig, я прочитал «это есть ** только пробел ** в текстовое поле "в вашем вопросе. –

3
if (String.IsNullOrWhiteSpace(txtBox.Text)) 
{ 
    // so stuff 
} 
+0

это только в .net 4, хотя - нет части для пробелов в .net 3.5 – stack72

+0

И ОП просит узнать, есть ли _is_ только пробел, а не если он пуст/нет. – Oded

+0

Является ли это методом расширения? Использование .NET 4, я вижу String.IsNullOrEmpty и String.IsNullOrWhiteSpace, но не String.IsNullOrEmptyOrWhiteSpace. –

1
txtBox.Text.Length == 1 && char.IsWhiteSpace(txtBox.Text.First()); 
+1

Что делать, если второй символ не является пробелом? –

+0

'txtBox.Text.Length == 1'. Нет второго символа. –

+0

да, я знаю это, но может быть более 1 символа пробела, и ваше решение не работает, тогда –

4
if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, @"\s",)) { 
    // do your code 
} 
3

Некоторые LINQ весело:

bool isWhitespace = txtBox.Text.All(char.IsWhiteSpace); 
+1

bool isWhitespace = txtBox.Text.All (char.IsWhiteSpace); –

+0

@Bear Monkey: Genius, изменится. –

0
 var Rxwhitesp = new Regex(@"\s"); 

     string textboxstring = textbox.Text; 
     string textboxfirststring = textbox.Text.First().ToString(); 
     if (Rxwhitesp.IsMatch(textboxfirststring) && (textboxstring.Length == 1)) 
     { 
      // write code for true condition 
     } 
     else 
     { 
      // write code for false condition 
     } 
0
//SIMPLE WAY TO VALIDATE EMPTY SPACES 
if (txtusername.Text.Contains(" ")) 
{ 
    MessageBox.Show("Invalid Username"); 
    txtusername.Clear(); 
    txtusername.Focus(); 
} 
Смежные вопросы