我试图让这个AJAX ControlToolkit接受标准时间或军事时间格式,但是在这个版本中,任何超过1200的军事时间都会失效。进入军事时间时,我更喜欢1200,1305等,没有A / PM或":"分隔器。你能帮我吗?感谢。
<td class="data">
<strong>Scheduled Time:</strong>
<br />
<asp:TextBox ID="scheduled_time" runat="server" Enabled="False"></asp:TextBox>
<asp:Label ID="lblScheduled_time_tip" runat="server">
<div style="font-size: 8pt">Tip: Type 'A' or 'P' to switch AM/PM</div>
</asp:Label>
<cc1:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="scheduled_time" Mask="99:99" MessageValidatorTip="true" OnFocusCssClass="MaskedEditFocus" OnInvalidCssClass="MaskedEditError" MaskType="Time" AcceptAMPM="True" ErrorTooltipEnabled="True"
/>
<cc1:MaskedEditValidator ID="MaskedEditValidator3" runat="server" ControlExtender="MaskedEditExtender3" ControlToValidate="scheduled_time" IsValidEmpty="False" EmptyValueMessage="Time is required" InvalidValueMessage="Time is invalid" Display="Dynamic"
TooltipMessage="Input a time" EmptyValueBlurredText="*" ValidationExpression="^(([1-9]{1})|([0-1][1-2])|(0[1-9])|([1][0-2])):([0-5][0-9]).(([aA])|([pP]))[mM]$" InvalidValueBlurredMessage="Invalid time" ValidationGroup="MKE" />
</td>
&#13;
答案 0 :(得分:0)
^((?:0?[1-9]|1[0-2]):[0-5][0-9](?:[aA]|[pP])[mM]|[0-1][0-9][0-5][0-9]|2[0-3][0-5][0-9])$
正则表达式是否符合我的想法:
(?:0?[1-9]|1[0-2]):[0-5][0-9](?:[aA]|[pP])[mM]
匹配任何有效的正常时间。 (1-12:0-59(AM / PM))
(0?
允许01:23 PM或1:23 PM)
或
[0-1][0-9][0-5][0-9]|2[0-3][0-5][0-9]
任何有效的祖鲁语(0000-2359)
^$
锚点确保没有别的东西。
如果您想查看/播放匹配的内容: regex101