郵便番号が正しいかをチェックする
郵便番号を入力されたとき、その入力が正しいかどうかを判定するコードを考えてみましょう
コード
using System.Text.RegularExpressions;
Console.WriteLine(IsValidPostalCode("123-4567")); // true
Console.WriteLine(IsValidPostalCode("1234567")); // true
Console.WriteLine(IsValidPostalCode("1234-567")); // false
Console.WriteLine(IsValidPostalCode("123-456")); // false
Console.WriteLine(IsValidPostalCode("123456789")); // false
bool IsValidPostalCode(string postalCode)
{
string pattern = @"^\d{3}-?\d{4}$";
return Regex.IsMatch(postalCode, pattern);
}
解説
bool IsValidPostalCode(string postalCode)
{
string pattern = @"^\d{3}-?\d{4}$";
return Regex.IsMatch(postalCode, pattern);
}
このコードは、IsValidPostalCodeという名前のC#メソッドで、文字列の入力 postalCodeを受け取り、その郵便番号が有効かどうかを示すbool値を返します。
このメソッドは、文字列変数patternで定義された正規表現パターンを使って、入力された郵便番号にマッチします。パターンは"^¥d{3}-?¥d{4}$"です。
^ | 文字列の先頭と一致します(次の3桁の数値が先頭であること) |
\d{3} | 正確に3桁の数字と一致します |
-? | ハイフン(0または1)にマッチします 言い換えると、ハイフンがある場合ない場合の両方に一致することになります |
\d{4} | 正確に4桁の数字に一致します |
$ | 文字列の末尾に一致する(前の4桁の数とが末尾であること) |
このメソッドは 正規表現を使用するためのライブラリのSystem.Text.RegularExpressions名前空間、Regex クラスの IsMatch メソッドを使って postalCode をパターンにマッチさせます。もし postalCode がパターンにマッチすれば、IsMatch メソッドは真を返し、そうでなければ偽を返します。IsMatchの戻り値は、次にIsValidPostalCodeメソッドの結果として返されます。
ディスカッション
コメント一覧
まだ、コメントがありません