我现在有个Textbox,提供了个日期控件在旁边.已经可以实现在日期控件中选择显示到Textbox里面了.但是现在还需要验证Textbox的格式是否为日期格式的.因为客户要求能够手动输入.
主要就是:如果输入字符串或者是别的.会提示说输入日期格式不正确,但是为空的话,就不验证.因为在某些情况下,这个Textbox是必须为空的.不为空的话就进行验证.
感觉这个使用微软提供的那几个验证控件好像并不是很好用,但是如果能够实现这样的效果也可以.麻烦各位帮我下.谢谢了.
主要就是:如果输入字符串或者是别的.会提示说输入日期格式不正确,但是为空的话,就不验证.因为在某些情况下,这个Textbox是必须为空的.不为空的话就进行验证.
感觉这个使用微软提供的那几个验证控件好像并不是很好用,但是如果能够实现这样的效果也可以.麻烦各位帮我下.谢谢了.
ControlToValidate="txtDateFrom" InvalidValueBlurredMessage="Task Date is invalid (mm/dd/yyyy)"
InvalidValueMessage="Task Date is invalid (mm/dd/yyyy)" EmptyValueBlurredText="*"
EmptyValueMessage="*" ValidationGroup="vgrpUpdateTask">
</ajaxToolkit:MaskedEditValidator>
function strShortDateTime(str)
{
var r=str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false;
var d=new Date(r[1],r[3]-1,r[4]);
return(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
这个只是格式判断而已,如果要准确的日期还要多加很多判断,我一般都是不给客户自己填写的
<asp:Button ID="Button1"
runat="server" Text="Button" Height="26px" Width="96px" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="RegularExpressionValidator"
ValidationExpression="((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))"></asp:RegularExpressionValidator>
一楼的哥们是用08?貌似05没有微软自带的ajax控件.
二楼的哥们,如果该控件为空的话.怎么判断?请指教
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="不能为空"></asp:RequiredFieldValidator>
if (document.Fr.date(控件的name or id).value.length != 0)
{
retuen strShortDateTime(Fr.date(控件的name or id).value)
}
else
{
return true
}
<html>
<head>
<title>检查是否为时间</title>
<script language="javascript">
function check(){
str = form1.txt.value;
str = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (str == null){
alert('你输入的时间格式无效');
return false;
}else if (str[1]>23 || str[3]>59 || str[4]>59){
alert("你输入的时间格式无效");
return false
}else{
alert("你输入的时间格式有效");
return true;
}
}
</script>
</head>
<body>
<form name="form1" onSubmit="return check()">
<input type="text" name="txt">
<input type="submit" value="检查">
</form>
</body>
</html>以下代码