Skip to main content
 首页 » 编程设计

c#之修改 "dd/MM/yyyy"的正则表达式

2024年02月13日28thcjp

我有“dd/MM/yyyy”的正则表达式,效果很好,

"^([0]?[1-9]|[1][0-2])[./-]([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0-9]{4}|[0-9]{2})$" 

但我想对其进行修改,使其也接受 00/MM/2014。 我的程序将其解释为特定月份的所有日期。例如 00/04/2014 表示四月份的所有日期。

谁能告诉我需要对上述脚本进行什么样的更改才能实现这一点?

这是我在其中使用它的代码:

<asp:TextBox ID="TextBox5" runat="server" MaxLength="1"  CssClass="MainContent" 
                         style="text-align:justify" ValidationGroup="MKE" Width="130px" /> 
                     <asp:ImageButton ID="ImgBntCalc" runat="server" CausesValidation="False"  
                         ImageUrl="images\calendar-schedulehs.png" /> 
                                    <asp:MaskedEditExtender ID="MaskedEditExtender2" runat="server"  
                                        AcceptNegative="Left" DisplayMoney="Left" ErrorTooltipEnabled="True"  
                                        mask="99/99/9999" MaskType="Date" MessageValidatorTip="true"  
                                        OnFocusCssClass="MaskedEditFocus" OnInvalidCssClass="MaskedEditError"  
                                        TargetControlID="TextBox5"  /> 
                                         <asp:MaskedEditValidator ID="MaskedEditValidator2" runat="server"  
                                        ControlExtender="MaskedEditExtender2" ControlToValidate="TextBox5"  
                                        Display="Dynamic" EmptyValueBlurredText="*"  ValidationExpression="^(?:[012]?[0-9]|3[01])[./-](?:0?[1-9]|1[0-2])[./-](?:[0-9]{2}){1,2}$" 
                                        InvalidValueMessage="Date is invalid" ValidationGroup="MKE1" /> 
                                    <asp:CalendarExtender ID="CalendarExtender1" runat="server"  Format="dd/MM/yyyy" 
                                        PopupButtonID="ImgBntCalc" TargetControlID="TextBox5" />  

请您参考如下方法:

现在它是为 MM/dd/yyyy 构建的(第一组只能包含 0-12)。但这里有一个适用于 dd/mm/yyyy 并允许 00 或 0 天:

"^([0]?[0-9]|[12][0-9]|[3][01])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$"