-2

を確認しようとしていますがID、何が間違っていますか?

以下は私のコードです:

ID: "a485c610-7d49-4877-a4c9-bdaaaad417be"

public ActionResult Verify(string id)
{
   if (string.IsNullOrEmpty(id) || (!Regex.IsMatch(id, @"[0-9a-f]{8}\-([0-9a-f]{4}\-){3}[0-9a-f]{12}")))
   {
       //oops
   }
   else {
       //good
    }
}
4

2 に答える 2

3

ジョンジーが言ったように、なぜ使用しないのですかGuid.TryParse()

string stringGuid = "a485c610-7d49-4877-a4c9-bdaaaad417be";
Guid newGuid;

if (Guid.TryParse(stringGuid, out newGuid))
   Console.WriteLine("Converted {0} to a Guid", stringGuid);
else
   Console.WriteLine("Unable to convert {0} to a Guid", stringGuid);

詳細については、このリンクを参照してください

于 2013-09-18T15:04:26.470 に答える
1

正規表現を固定する必要があり-、文字クラスの外にエスケープする必要はありません:

@"^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"

^そして$、それぞれ文字列の先頭と末尾に一致します。

于 2013-09-18T14:58:15.807 に答える