0

テキストボックスを検証して、電話番号タイプの値が入力されていることを確認しようとしています。

私が抱えている問題は、エントリがたとえば次の場合でも、これらのテキストボックスに「何とか」と表示されている場合でも、正規表現がfalseを返し、エラーメッセージが表示されないことです。

Regex staffNumVal = new Regex(@"^[a-z]+$");

if (staffNumVal.IsMatch(txtStaffHPhone.Text)||(staffNumVal.IsMatch(txtStaffHourRate.Text)))
{
   MessageBox.Show("Please enter a numeric value");
}

私が見逃しているこれを行うためのより良い方法はありますか?ありがとう。

4

6 に答える 6

2

それ以外の

Regex staffNumVal = new Regex(@"^[a-z]+$");

使用する

Regex staffNumVal = new Regex(@"^[0-9]+$");

if (staffNumVal.IsMatch(txtStaffHPhone.Text)||(staffNumVal.IsMatch(txtStaffHourRate.Text)))
{
  //Valid
}
else
{
  MessageBox.Show("Please enter a numeric value");
}
于 2012-11-06T12:07:14.633 に答える
1
Regex staffNumVal = new Regex(@"^\d*$");
于 2012-11-06T12:08:15.087 に答える
0

そのように試してみてください

int value;
if (int.TryParse(txtStaffHPhone.Text, out value))
{
    // it's a valid integer 
}
于 2012-11-06T12:07:46.377 に答える
0

あなたの正規表現はあなたが期待することをしません。

「^」が間違っていると思います。@"[^az]+$" である必要があります。

しかし、& のようなものを受け入れるので、それでさえ間違っています。

次の場所でテストできます: http://regexhero.net/tester/

しかし、MaskedTestBox を使用したほうがよいと思います。あなたはそれを試しましたか?

于 2012-11-06T12:28:06.647 に答える
0
Regex regex = new Regex(@"^\d$");

詳細は参照してください:数値のみの正規表現

于 2012-11-06T12:12:29.720 に答える
-1

Microsoft.VisualBasicをインポートして使用してください!

if (Microsoft.VisualBasic.Information.IsNumeric("5"))
{
//Do Something
}
于 2012-11-06T12:08:00.830 に答える