Modifier Expression Régulière pour “dd/MM/yyyy”
J'ai l'expression régulière pour "dd/MM/yyyy" qui fonctionne très bien,
"^([0]?[1-9]|[1][0-2])[./-]([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0-9]{4}|[0-9]{2})$"
mais je veux modifier cette sorte qu'il accepte également 00/MM/2014.
Mon programme interpréter cela comme tous les jours dans un mois donné. Par exemple 00/04/2014
signifie toutes les dates au mois d'avril.
Quelqu'un peut me dire quel type de changement j'ai besoin de faire de script ci-dessus pour que cela se produise?
Voici le code que j'utilise dans :
<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" />
- Que la regex ne fonctionne pas pour
dd/MM/yyyy
- `31/01/2014' ne serait pas passer. - quels changements dois-je faire en sorte qu'elle accepte aussi 31/01/2014?
Vous devez vous connecter pour publier un commentaire.
Eh bien maintenant il est construit pour
MM/dd/yyyy
(le premier groupe ne peut contenir de 0 à 12). Mais voici un qui fonctionne pourdd/mm/yyyy
et permet une00
ou0
jour:00
comme un jour de validité (modifié le[1-9]
à[0-9]
dans le premier groupe)[01]
est correcte, pas[0|1]
, sauf si vous voulez accepter|
comme une date valide personnage!)Vous pouvez également vouloir vérifier DateTime.ParseExact (format est décrit ici), dans la plupart des cas, c'est la façon la plus facile à analyser dates...
Comment sur:
jj/mm/aaaa:
mm/jj/aaaa:
dd/mm/yyyy
.J'aimerais présenter que il y a trop de choses dans cette expression. Subjective, pour être sûr, mais si c'était mon code je voudrais faire un looser regex et procéder à la validation du code. Je trouve que c'est plus facile de revenir six mois plus tard, et de comprendre que, plutôt que d'un compliqué regex.
Cela dit...
MODIFIER
En guise d'explication, voici la partie jour de l'expression, a déclaré:
À en juger par vos commentaires, on dirait que il y a un problème avec la façon dont vous êtes réellement en utilisant les regex dans le code. Pouvez-vous poster le code où vous êtes réellement en utilisant l'expression?
00/01/2014
matchs avec succès. Que voyez-vous? Pouvez-vous mettre à jour votre réponse avec le code que vous avez qui ne l'accepte pas cette date?Essayer ce modèle
EN ASPX
VÉRIFIER ICI DATE DE VALIDATION