- PR -

時刻をチェックする正規表現

1
投稿者投稿内容
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2008-04-24 16:06
RegularExpressionValidatorで時刻が15分単位で入力されているか
チェックしたいのですが、以下の正規表現が正常に動作しません。

02:05, 02:35などを入力するとエラーになりません。

正規表現:
^([0-1][0-9]|[2][0-3]):(00|15|30|45)$

ちなみに、
http://regexlib.com/RETester.aspx?regexp_id=59
でテストするとOKなのですが・・・

.NETの仕様が異なるのでしょうか。

rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-04-24 16:47
VisualStudio2005, IE7, WindowsXPの環境で確認しましたが、ちゃんと検証エラーになりました。
JavaScriptをOFFにした状態でも確認しましたが変わらず。

コード:

<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1"
ErrorMessage="RegularExpressionValidator" ValidationExpression="^([0-1][0-9]|[2][0-3]):(00|15|30|45)$"></asp:RegularExpressionValidator></div>
</form>
</body>



※日本語がおかしかったのを修正

[ メッセージ編集済み 編集者: rain 編集日時 2008-04-24 16:48 ]
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2008-04-24 20:51
検証していただいてありがとうございます。

ちゃんとエラーになりますね。

私の勘違いでした。

失礼しました。

余談ですが、
http://regexlib.com/RETester.aspx?regexp_id=59
のサイト正規表現のエンジンを選択できるのですね。

.NET Engine (EnableClientScript="false")
Client-Side Engine (EnableClientScript="true")

便利ですね。



_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
1

スキルアップ/キャリアアップ(JOB@IT)