我需要dd/mm/yyyy使用常规表达来验证格式的日期字符串.
此正则表达式验证dd/mm/yyyy,但不是无效日期,如31/02/4500:
^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$
Run Code Online (Sandbox Code Playgroud)
dd/mm/yyyy使用闰年支持验证格式的有效正则表达式是什么?
我怀疑我是唯一提出这个解决方案的人,但是如果你有更好的解决方案,请在这里发布.我只想在这里留下这个问题,以便我和其他人可以在以后搜索.
我需要判断是否在文本框中输入了有效日期,这是我提出的代码.当焦点离开文本框时我会触发它.
try
{
DateTime.Parse(startDateTextBox.Text);
}
catch
{
startDateTextBox.Text = DateTime.Today.ToShortDateString();
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ASP.NET RangeValidator来验证文本框上的日期.在文本框中输入的日期格式为dd MMMM yyyy.
如何使用范围验证器验证有效日期?如果我输入1000年1月1日作为最小值或最大值,我会收到错误,指出值无法转换为类型日期,但如果我使用其他格式,则会将输入的文本作为无效值.
以下是我的代码:
<asp:TextBox
runat="server"
ID="txtDatecompleted"
/>
<cc2:CalendarExtender
ID="datecompletedExtender"
runat="server"
TargetControlID="txtDatecompleted"
Format="dd MMMM yyyy"
/>
<asp:RangeValidator
runat="server"
ID="RangeValidator1"
Type="Date"
ControlToValidate="txtDatecompleted"
MaximumValue="9999/12/28"
MinimumValue="1000/12/28"
ErrorMessage="enter valid date"
Display="None"
/>
<cc2:ValidatorCalloutExtender
ID="RangeValidator1_ValidatorCalloutExtender"
runat="server"
Enabled="True"
TargetControlID="RangeValidator1">
</cc2:ValidatorCalloutExtender>
Run Code Online (Sandbox Code Playgroud) 我希望匹配日期格式为mm/dd/yy或mm/dd/yyyy,但它不应该选择23/09/2010,其中月份为23,这是无效的,也没有一些无效的日期,如00/12/2020或12/00/2011.
我遇到了以下问题:如何确定输入日期字段是否提交不完整?例如,如果我12/09/aaaa作为值发送,则实际发送的值是null,这与我发送时获得的值相同gg/mm/aaaa,即空值。有没有办法通过JS区分这两种情况?(实际上,我正在使用 Vue.js,但我认为这并不是那么重要。)
regex ×2
validation ×2
asp.net ×1
c# ×1
datetime ×1
forms ×1
html ×1
javascript ×1
ruby ×1
vue.js ×1