C#コードから正規表現を取得するコード行があります
$("#but").keyup(function ()
{
var regex = /<%:StringKeeper.InfoRegex.ToString()%>/;
var info = $("#Info").val(); // info from edit-field
var matches = regex.exec(info);
var part1 = matches[1];
var part2 = matches[2];
if (matches != null)
{
if (part1.length != 6 && part2.length != 5 ||
(part1 == '000000' || part2 == '00000'))
{
showWarning = true;
}
}
else { showWarning = true; }
if (showWarning)
{
$("#butWarning").show();
$("#submitButton").attr('disabled', 'disabled');
});
$("#but").keyup();
問題は、ビジュアルスタジオが「;」を認識していないことです。最初の行の終わりにはコメントがありません。したがって、コードがまだ機能していても、コードの次の行に警告が表示されます。
編集:人々がより多くの情報を望んでいたので、コードは今完全な機能を示しています。基本的に、ある入力フィールドのキーアップイベントで正規表現がチェックされ、警告が表示されない場合は、入力が正規表現と一致するかどうかが確認されます。
public static Regex InfoRegex
{
get
{
return new Regex(@"^[Xx][Yy]0(\d{6})(\d{5})$");
}
}
これを回避する方法や、私が使用していると思われる新しい構文を知っている人はいますか?