关于C语言如何实现合法性的检验

2025-02-23 22:44:51
推荐回答(2个)
回答1:

可以使用如下的代码实现:
int y,m,d=0;
while(y<999||y>9999||m<1||m>12||d<1||d>31)
{printf("请输入日期mm/dd/yyyy:");
scanf("%2d/%2d/%4y",&m,&d,&y);
}

回答2:

用正则表达式来校验
dateRegex = /^(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$/;