.net c# 验证输入时间格式的有效性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net c# 验证输入时间格式的有效性相关的知识,希望对你有一定的参考价值。
通过Textbox获取用户输入的时间 字符串 (2011-4-2 年/月/日)。对该字符串的有效性的验证,分两步: 1.通过正则表达式对该字符串是否为XXXX-XX-XX的格式进行判断。 2.对数据的有效性进行判断。如 2011-13-40日这样的数据是不合理的,应报错提示。我个人感觉 如果可以将该时间存到一个数组里(year=a[0],month=a[1],day=a[2]),然后分别对年 月 日去读取并做判断,那么就能够解决了。问题在 要如何将该字符串转换成数组呢?或者你若有别的更加简便的方法也可以告诉我一下。我很急,望能指点一二,非常感谢!!!
参考技术A DateTime.trypares(要验证的东西,out bool参数)如果BOOL为TRUE 则验证通过.FLASE 验证不通过. 手码.应该写错了- -..
这个函数就是用来验证各种尝试转型的撒 参考技术B Winform还是Webform,
如果Webform要做前台(JS)还是后台校验?
后台的话就用DateTime.trypares很简单了,JS的正则表达式也很简单。
要是像你说的存数组(year=a[0],month=a[1],day=a[2]),你要读取字符串,因为你也不知道他用的是什么分隔符,读取字符串每个字符,判断是不是数据,当地一个不是数字的字符出现时就把前面的存到数组0里,然后继续,以此类推。 参考技术C string strDate = "2012-07-28";
string[] strs = strDate.Split(new char[]'-'); 参考技术D ^((((1[6-9]|[2-9]d)d2)-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d2)-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d2)-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
时间格式(YYYY-MM-DD)基本上把闰年和2月等的情况都考虑进去了 第5个回答 2012-07-30 转换成datetime,成功有效,失败无效
带有 jquery datepicker 错误的 jquery 验证插件(请输入有效日期)
【中文标题】带有 jquery datepicker 错误的 jquery 验证插件(请输入有效日期)【英文标题】:jquery validation plugin with jquery datepicker error(Please enter a valid date) 【发布时间】:2020-04-16 14:46:59 【问题描述】:我正在使用jquery
验证插件进行表单验证。我正在验证日期。但我收到了类似
请输入有效日期
如果我更改 Jquery 日期选择器格式。我不知道它来自哪里。
我正在使用jquery ui date picker
。
$('.date').datepicker(
dateFormat: "dd-mm-yy",
changeMonth:true,
changeYear:true
);
表格
<form method="post" id="policiesform" action=" url('createpoli') " enctype="multipart/form-data">
<div class="col-lg-4 col-md-6 col-sm-12">
<div class="form-group">
<div class="row text-center">
<div class="col-lg-4 col-md-6 col-sm-6">
Start Date
</div>
<div class="col-lg-8 col-md-6 col-sm-6">
<input type="text" placeholder="Start Date" class="form-control date" name="startdte" readonly>
</div>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6 col-sm-12">
<div class="form-group">
<div class="row text-center">
<div class="col-lg-4 col-md-6 col-sm-6">
End Date
</div>
<div class="col-lg-8 col-md-6 col-sm-6">
<input placeholder="End Date" class="form-control date" name="enddte" readonly>
</div>
</div>
</div>
</div>
</form>
验证
$('#policiesform').validate(
rules:
startdte:
required:true,
,
enddte:
required:true,
,
,
messages:
startdte:
required:"Start Date is Required",
,
enddte:
required:"End Date is Required",
,
);
【问题讨论】:
看看***.com/questions/41435873/… 你用的时刻js吗? @Maraboc 不,我正在使用简单的 jquery 验证插件 @PrabhjotSinghKainth 是的,你是对的,我也遇到了同样的问题 【参考方案1】:如果您已经下载了 jquery 验证插件,那么您必须在jquery.validate.min.js
中进行更改,有关更多信息,您可以在此处找到Where trigger the "Please enter a valid date." in jquery.validate.js
【讨论】:
【参考方案2】:尝试使用开始日期、结束日期 id 而不是类
开始日期
$('#start-date').datepicker(
dateFormat: "dd-mm-yy",
changeMonth:true,
changeYear:true
).on('change', function()
$(this).valid(); // triggers the validation test
// '$(this)' refers to '$(".date")'
);
结束日期
$('#end-date').datepicker(
dateFormat: "dd-mm-yy",
changeMonth:true,
changeYear:true
).on('change', function()
$(this).valid(); // triggers the validation test
// '$(this)' refers to '$(".date")'
);
【讨论】:
请输入有效日期 嗨 matheen ulla,创建单独的 startDate、endDate id 而不是类以上是关于.net c# 验证输入时间格式的有效性的主要内容,如果未能解决你的问题,请参考以下文章