Html 检查日期是否正确+;正则表达式Angular4

Html 检查日期是否正确+;正则表达式Angular4,html,angular,Html,Angular,我有一张Angular4格式的表格,有两个日期:开始,结束 我想检查格式日期是否为dd/mm/yyyy 我写道: <input pattern="((0)*[1-9]|[1-2][0-9]|(3)[0-1])(\/)(((0)*[1-9])|((1)[0-2]))(\/)\d{4}$" [(ngModel)]="filterDateStart" class="form-control" type="date" id="filterDateStart" name="filterD

我有一张Angular4格式的表格,有两个日期:开始,结束

我想检查格式日期是否为dd/mm/yyyy

我写道:

     <input  pattern="((0)*[1-9]|[1-2][0-9]|(3)[0-1])(\/)(((0)*[1-9])|((1)[0-2]))(\/)\d{4}$" [(ngModel)]="filterDateStart" class="form-control" type="date" id="filterDateStart" name="filterDateStart"  clrDate>

    <input   pattern="((0)*[1-9]|[1-2][0-9]|(3)[0-1])(\/)(((0)*[1-9])|((1)[0-2]))(\/)\d{4}$" [(ngModel)]="filterDateEnd" class="form-control" type="date" id="filterDateEnd" name="filterDateEnd"  clrDate>

然后当我写无效日期时,我的html不会说任何东西。。。我可以寄这张表格

然后我需要检查这些日期

 1º Date start < date end
 2º Ranges valid -> (30/20/2018) or (32/12/2018)
1º日期开始<日期结束
2º范围有效->(2018年20月30日)或(2018年12月32日)

我看到了library moment.js,但我的老板说我不应该看到它。谢谢,对不起我的英语。

不要使用正则表达式,请依赖
日期
API:

const valid='12/12/2018';
const invalid1='12/12';
const invalid2='12.12.2018';
const invalid3='foo';
函数解析日期(日期){
试一试{
//在这里创建您的业务逻辑。示例:所有必须定义和编号,并用/
常数[d,m,y]=日期分割('/');
如果(!d | |!m | |!y)抛出新错误();
如果(isNaN(d)| | isNaN(m)| | isNaN(y))抛出新错误();
返回新日期(y、m、d);
}捕捉(错误){
返回“无效日期”;
}
}
console.log(解析日期(有效));
console.log(parseDate(invalid1));
console.log(parseDate(invalid2));

console.log(parseDate(invalid3))因为您显然使用的是angular 4,所以我建议在表单中使用验证器。使用模式验证器检查您的格式,其他验证器检查范围等。新日期(y、m、d)--->>>30/02/2008应该是错误的--但不是-->Sun Mar 30 2008 00:00:00 GMT+0100(hora Esándar de Europa central)。它正在使用我的代码,因为我只在其中添加了两个条件。我在给你一个方向,我不是一个代码猴子。。很抱歉