1

WPF (C#、VS 08) アプリにさまざまな長さの電話番号を保存しています。

それらを文字列として保存します。私の質問は私の方法についてAddNewPhoneNo(string phoneNo)です。

このメソッドではInt.TryParse、着信番号を検証するために使用します (つまり、null でない、数値である...)。それ以来、これはおそらくこれを行うための最良の方法ではないことに気付きました。なぜなら、私は±2147483647の番号に制限されているからです。

電話番号を検証するための適切で簡単な方法は何ですか? 基本的なルールは次のようになると思います。

  • すべて数値
  • すべてポジティブ
  • 最大 25 文字 (それ以上になる可能性もありますが、当面はこれで十分です)

現時点でこれ以上のルールがあるかどうかはわかりません。おそらくそれで終わりです。

4

3 に答える 3

1

Int64.TryParse±9223372036854775807の範囲を試すことができます

于 2010-05-05T05:31:33.130 に答える
1

文字列がnullではなく、数字だけで、25文字以下でなければならないという制約がある場合は、次のように簡単に実行できます。

static bool IsValidPhoneNumber(string phoneNumber)
{
    return !string.IsNullOrEmpty(phoneNumber)
        && (phoneNumber.Length <= 25)
        && phoneNumber.All(c => char.IsNumber(c));
}

制約がより複雑な場合 (たとえば、文字列に "123-456-7890" のような数字グループや "(123)4567890" のような括弧を含めることができる) の場合は、RegEx を使用する必要があります。

于 2010-05-05T05:33:50.500 に答える
1

正規表現パターンはどうですか: http://regexlib.com/REDetails.aspx?regexp_id=45 8

于 2010-05-05T04:09:48.563 に答える