正規表現検証ツールがクライアント側のコンテンツを検証しています。カスタムバリデーターを使用すると、サーバー側だけでなくクライアント側でも検証できます。カスタムバリデータ用
サンプル:
//html:
<asp:TextBox ID="textPreferredDate" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="textPreferredDate" Display="Dynamic" ErrorMessage="Format: m/d/yyyy" OnServerValidate="CustomValidator1_ServerValidate" ClientValidationFunction="validateDate">Invalid format (m/d/yyyy)</asp:CustomValidator><br />
//client side:
<script language="javascript">
function validateDate(oSrc, args)
{
var iDay, iMonth, iYear;
var arrValues;
arrValues = args.Value.split("/");
iMonth = arrValues[0];
iDay = arrValues[1];
iYear = arrValues[2];
var testDate = new Date(iYear, iMonth - 1, iDay);
if ((testDate.getDate() != iDay) ||
(testDate.getMonth() != iMonth - 1) ||
(testDate.getFullYear() != iYear))
{
args.IsValid = false;
return;
}
return true;
} </script>
//server side:
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
try
{
DateTime.ParseExact(args.Value, "d", null);
args.IsValid = true;
}
catch
{
args.IsValid = false;
}
}
ところであなたはクライアントとサーバーの両方の検証を実装する場合に注意してください。詳細については、この質問をお読みください。Form validation client side and server side
私の状況では、バックスラッシュはエスケープ文字ではありません。実際には、バックスラッシュと文字を含む2文字を入力しないようにしています。 – Sunil
@Sunil ahh、okだから、あなたは '***'と '^ | *〜'は許しますが '* \ **'や '\^\ | \ * \〜' "\ ^"など... – Robbie
***許可、^ | *〜許可、* \\ ***許可されていない、\^\ | \ * \〜は許可されていません。 – Sunil