文本框接受日期';从1900年到2050年的javascript

文本框接受日期';从1900年到2050年的javascript,javascript,c#,asp.net,Javascript,C#,Asp.net,我有一个写出生日期的文本框。我在这里尝试的是,用户应该能够输入1900-2050之间的日期 我不想使用日期选择器。请提出任何意见 这是我的aspx:- <asp:TextBox ID="txtDtOfBirth" runat="server" ToolTip="Enter date in DD/MM/YYYY format" autocomplete="off" Width="75" MaxLength="10"

我有一个写出生日期的文本框。我在这里尝试的是,用户应该能够输入1900-2050之间的日期

我不想使用日期选择器。请提出任何意见

这是我的aspx:-

<asp:TextBox 
     ID="txtDtOfBirth" 
     runat="server" 
     ToolTip="Enter date in DD/MM/YYYY format"
     autocomplete="off" 
     Width="75" 
     MaxLength="10" 
     onblur="calculateAgeFromCalendar(), 
     dateformat(this.value, this.id)">
</asp:TextBox>

请试试这个。我认为这对你很有帮助。

函数检查日期(elm)
{
var date=$(elm.val();
var year=日期。拆分('/')[2];
如果(parseInt(year)>=1900&&parseInt(year)使用此

var dateFrom=“01/01/1900”;
var dateTo=“31/12/2050”;
$('#txtDtOfBirth').focusout(函数(){
ValidateDate()
})
函数ValidateDate(){
var dateCheck=$('#txtDtOfBirth').val();
var d1=dateFrom.split(“/”);
var d2=日期分割(“/”);
var c=dateCheck.split(“/”);
var from=新日期(d1[2],d1[1]-1,d1[0]);//-1,因为月份从0到11
var to=新日期(d2[2],d2[1]-1,d2[0]);
var检查=新日期(c[2],c[1]-1,c[0]);
$('#txtDtOfBirth').val(check.getDay()+'/'+(check.getMonth()+1)+'/'+check.getFullYear())//如果用户输入2月31日,它将插入3月1日
如果(检查>从和检查<到){
$('txtDtOfBirth').css('border','1px solid'0f0')
}否则{
$('txtDtOfBirth').css('border','1px solid'f00');
$('#txtDtOfBirth').focus();
}
}

此代码将检查有效的DD/MM/YYYY日期格式以及年份边界

function dateformat() {

            var isValid = false;
            var minYear = 1900;
            var maxYear = 2050;

            var txtDtOfBirth = document.getElementById('txtDtOfBirth');

            var regex = new RegExp(/^(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[0-2])\/(19|20)\d{2}$/);
            var isValid = regex.test(txtDtOfBirth.value);

            if (isValid) {
                var year = parseInt(txtDtOfBirth.value.split('/')[2]);
                if (year <= minYear || year >= maxYear) {
                    isValid = false;
                }
                else {
                    isValid = true;
                }
            }

            if (!isValid) {
                alert('Invalid date');
            }
}
函数日期格式(){
var isValid=false;
var minYear=1900;
var maxYear=2050;
var txtDtOfBirth=document.getElementById('txtDtOfBirth');
var regex=newregexp(/^(0[1-9]| 1\d | 2\d | 3[01])\/(0[1-9]| 1[0-2])\/(19 | 20)\d{2}$/);
var isValid=regex.test(txtDtOfBirth.value);
如果(有效){
var year=parseInt(txtDtOfBirth.value.split('/')[2]);
如果(年=最大年){
isValid=false;
}
否则{
isValid=true;
}
}
如果(!isValid){
警报(“无效日期”);
}
}

甚至连jquery datepicker都没有?@Shaharyar:不,我没有使用任何
datepicker
提供您尝试过的JS和HTMl代码。使用ASP代码,人们能提供什么帮助you@fubo:不,我想用Javascript显示警报消息。因此不能使用
范围验证程序
@JSantosh:这是提琴。我应该在文本框的哪个属性上称此为f函数和检查?在checkdate函数中传递您的元素。我在onblur上已经有一个函数了,您能帮我吗..另外,请检查我的小提琴以了解更多信息您在该函数中做什么?如果可能,请在该函数中实现我的登录。您可以这样调用两个函数。
onblur=“functions1();function2();“
function dateformat() {

            var isValid = false;
            var minYear = 1900;
            var maxYear = 2050;

            var txtDtOfBirth = document.getElementById('txtDtOfBirth');

            var regex = new RegExp(/^(0[1-9]|1\d|2\d|3[01])\/(0[1-9]|1[0-2])\/(19|20)\d{2}$/);
            var isValid = regex.test(txtDtOfBirth.value);

            if (isValid) {
                var year = parseInt(txtDtOfBirth.value.split('/')[2]);
                if (year <= minYear || year >= maxYear) {
                    isValid = false;
                }
                else {
                    isValid = true;
                }
            }

            if (!isValid) {
                alert('Invalid date');
            }
}