我有三个文本框,
Date Of Birth
Date of Joining
Date of Leaving
我想要一个正则表达式,以便正确验证它。例如:出生日期应小于加入日期和离开日期。
此外,离开日期应始终大于加入日期。请告诉我如何正确验证
答案 0 :(得分:0)
日期验证基本上不可能单独使用正则表达式,2月29日是更难的问题之一。正则表达式中的日期比较更难。
找到另一种方法。
答案 1 :(得分:0)
您可以使用JavaScript
使用客户端验证tbStartDateID和tbEndDateID是文本框控件' id分别输入开始日期和结束日期。
JavaScript功能:
function CompareDates(tbStartDateID, tbEndDateID) {
var startDate = document.getElementById(tbStartDateID).value;
var endDate = document.getElementById(tbEndDateID).value;
//Difference in milliseconds
var timeDiff = Date.parse(endDate) - Date.parse(startDate);
if (Date.parse(endDate) > Date.parse(startDate)) {
alert("It is okay, end date is greater than start date");
}
else {
alert("Start Date must be lesser than end Date");
}
}
答案 2 :(得分:0)
You cannot use Regular Expressions for validating dates.
Instead you can use something like this :
**HTML :**
<input type="date" id="dob" name="dob" runat="server" />
<input type="date" id="joinDate" name="jDate" runat="server" />
**C# Code :**
protected Boolean Validate_DateOfBirth()
{
int dateDOB, joiningDt;
string joiningDate = joinDate.Value; ;
string varDOB = dob.Value;
varDOB = varDOB.Replace(@"-", "");//Our string will be in yyyyMMdd format now.
joiningDate = joiningDate.Replace(@"-", "");
dateDOB=int.Parse(varDOB);
joiningDt = int.Parse(joiningDate);
if (dateDOB > joiningDt){
//Raise your error here.
return false;
}
else{
//Everything id fine..
return true;
}
}
You can implement the similar thing for comparing date of joining and
date of leaving..