尝试使用模式中的regx来验证Angular“ DD / MM / YYYY”中的日期格式
我使用的模式
public static readonly TAG_DATE_FORMAT_VALUE_REGX : string = '/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/';
public static readonly TAG_DATE_FORMAT_VALUE_REGX : string = '^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$';
public static readonly TAG_DATE_FORMAT_VALUE_REGX : string = ' ^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$';
public static readonly TAG_DATE_FORMAT_VALUE_REGX : string = '^[0-3]?[0-9]/[0-3]?[0-9]/(?:[0-9]{2})?[0-9]{2}$';
还有许多其他。他们都没有为我工作。
TS代码
eventStartDateTime: [null, Validators.compose([Validators.required, Validators.pattern(ConstantValues.TAG_DATE_FORMAT_VALUE_REGX)])],
HTML代码
<div *ngIf="(f.eventStartDateTime.invalid && eventform.submitted) || (f.eventStartDateTime.invalid && (f.eventStartDateTime.dirty || f.eventStartDateTime.touched))"
class="invalid-feedback">
<div *ngIf="f.eventStartDateTime.errors.required"> Please provide a starting date/time for this
professional learning event. </div>
<div *ngIf="f.eventStartDateTime.errors.pattern">Invalid Date Format. Valid format - DD/MM/YYYY
</div>
</div>
参考
Javascript date regex DD/MM/YYYY