有这样一个需求:
1、要求文本框中输入年月格式为:200901
2、文本框中只能输入数字,也就是说输入非数字自动去掉
3、其次就是输入月份的限制了(1到12月之间)
下面是.net的应用:
1、控件的使用:
<asp:TextBox id="startDate" runat="server" style="width: 100px" maxlength="6" onKeyUp="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
</asp:TextBox>
其中的 onbeforepaste发生在用户粘贴操作之前,个人认为应该是你使用文本框的时候的值
onkeyup发生在按下键盘的任一个键然后松开时
2、js的约束
function onBlur()
{
var val=true;
var obj=document.getElementById('startDate');
if(obj.value.length!=6)
{
alert('您输入的日期格式有误,请重新输入!');
obj.focus();
val=false;
}
if(val)
{
var day=obj.value.substring(4);
if(day>12||day==00)
{
alert('您输入的日有误,请重新输入!');
obj.focus(); //使文本控件获得焦点
val=false;
}
}
return val; //其实也可以没有返回值的,就看你将来是什么用途了。
}
约束的方法可能有点不妥,您可以随便修改。
1、要求文本框中输入年月格式为:200901
2、文本框中只能输入数字,也就是说输入非数字自动去掉
3、其次就是输入月份的限制了(1到12月之间)
下面是.net的应用:
1、控件的使用:
<asp:TextBox id="startDate" runat="server" style="width: 100px" maxlength="6" onKeyUp="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
</asp:TextBox>
其中的 onbeforepaste发生在用户粘贴操作之前,个人认为应该是你使用文本框的时候的值
onkeyup发生在按下键盘的任一个键然后松开时
2、js的约束
function onBlur()
{
var val=true;
var obj=document.getElementById('startDate');
if(obj.value.length!=6)
{
alert('您输入的日期格式有误,请重新输入!');
obj.focus();
val=false;
}
if(val)
{
var day=obj.value.substring(4);
if(day>12||day==00)
{
alert('您输入的日有误,请重新输入!');
obj.focus(); //使文本控件获得焦点
val=false;
}
}
return val; //其实也可以没有返回值的,就看你将来是什么用途了。
}
约束的方法可能有点不妥,您可以随便修改。