2016-09-16 8 views
-1

テキストボックスの入力テキストが数字かアルファベットかどうか、条件に基づいて何らかのアクションを実行する必要があるかどうかを確認する必要があります。
私は表示する項目のリストを持っており、ユーザーは並べ替えに基づいてシーケンス番号またはアルファベットを入力できます。テキストボックスに入力されたテキストがアルファベットか数字かを確認する方法

string id = userTextBox1.Text; 
if (int.Parse(id) >= 0 && int.Parse(id) <= 9) 


{ 

//action to be performed 


} 

どのように私は、入力したテキストは、アルファベット

+2

あなたのint.Parseは無効な入力で失敗します。代わりにint.TryParseを使用してください。 –

+2

アルファベットはどういう意味ですか?文字のみ? "intには解析できません"のみ?ところで、例外を避けたいのであれば、 'int.TryParse'を使うべきです... –

+3

' Regex.IsMatch(userTextBox1.Text、@ "^ [a-zA-Z0-9] + $"); ' –

答えて

0

することができます(とすべきである)入力が無効な場合そうでなければ、例外を取得している、int.TryParse代わりのint.Parseを使用しているかどうかの状態を確認することができます。そして、これは動作するはずです:

int number; 
if(int.TryParse(userTextBox1.Text, out number)) 
{ 
    if(number >= 0 && number <= 9) 
    { 

    } 
    else 
    { 
     // invalid range? 
    } 
} 
else 
{ 
    // not an integer -> alphabet? (or what does it mean) 
} 

"アルファベット" は文字のみなし数字を意味している場合、あなたはChar.IsLetterを使用することができます。

// ... 
else if(userTextBox1.Text.All(char.IsLetter)) 
{ 
    // alphabet? 
} 
2

これは動作するはずです:

using System.Linq; 
//...  

if (id.All(char.IsLetterOrDigit)) 
{ 
    //action to be performed 
} 
+2

私はワンライナーを愛する! –

0

私はあなたがいると思います次のような検索を行います。

protected void Validate_AlphanumericOrNumeric(object sender, EventArgs e) 
{ 
    System.Text.RegularExpressions.Regex numeric = new System.Text.RegularExpressions.Regex("^[0-9]+$"); 
    System.Text.RegularExpressions.Regex alphanemeric = new System.Text.RegularExpressions.Regex("^[a-zA-Z0-9]*$"); 
    System.Text.RegularExpressions.Regex alphabets = new System.Text.RegularExpressions.Regex("^[A-z]+$"); 
    string IsAlphaNumericOrNumeric = string.Empty; 
    if (numeric.IsMatch(txtText.Text)) 
    { 
     //do anything 
    } 
    else 
    { 
     if (alphabets.IsMatch(txtText.Text)) 
     { 
      //do anything 
     } 
     else if (alphanemeric.IsMatch(txtText.Text)) 
     { 
      //do anything 
     } 
    } 



} 
あなたの条件に基づいて210

はあなたの仕事

0
bool isNumber = id.Select(c => char.IsDigit(c)).Sum(x => x? 0:1) == 0; 

非常に粗製の方法を行うが、それは動作します。
値に応じて、テキストをブール値のListとsumに変換します。 0の場合は、文字列に数字だけがあります。
これは小数点では機能しません。

関連する問題