using System;
using System.Text;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
string[] testStrings =
{
"12345", // 半角数値
"abcDEF", // 半角文字
"あいうえお", // 全角
" ", // 半角スペース
" ", // 全角スペース
"00000", // すべて0の半角数値
"2024/02/01" // 日付
};
foreach (var str in testStrings)
{
byte[] encodedBytes = Encoding.GetEncoding("shift-jis").GetBytes(str);
string encodedStr = Encoding.GetEncoding("shift-jis").GetString(encodedBytes);
Console.WriteLine($"文字列: {encodedStr}");
Console.WriteLine($"① 半角数値のみ: {Regex.IsMatch(encodedStr, "^[0-9]+$")}");
Console.WriteLine($"② 半角文字のみ: {Regex.IsMatch(encodedStr, "^[\u0020-\u007E]+$")}");
Console.WriteLine($"③ 全角のみ: {Regex.IsMatch(encodedStr, "^[^\x00-\x7F]+$")}");
Console.WriteLine($"④ 半角スペースのみ: {Regex.IsMatch(encodedStr, "^ +$")}");
Console.WriteLine($"⑤ 全角スペースのみ: {Regex.IsMatch(encodedStr, "^[ ]+$")}");
Console.WriteLine($"⑥ すべて0の半角数値: {Regex.IsMatch(encodedStr, "^0+$")}");
Console.WriteLine($"⑦ 日付書式 (YYYY/MM/DD): {Regex.IsMatch(encodedStr, "^\\d{4}/\\d{2}/\\d{2}$")}");
Console.WriteLine("--------------------------------------------------");
}
}
}