怎么用js验证textbox中的字段
我用js验证textbox中输入的字段是否为日期型,2.是否为正整数字段,3,是否为float型字段,在输入后马上就能验证出来,应该怎么写,急用,谢谢各位高手指点! --------------------编程问答-------------------- 在textbox的onblur事件里用正则判断。
--------------------编程问答-------------------- 想说思路:
textbox一个 后面加几个带id的<span style='display:none'>xxx<span/>先隐藏,当判断的时候就显示
var txt=document.getxxxxID("txetbox1").value;//那个getxx忘记写了
var date=//日期的正则表达式(网上找,大把)
var ints=//正整数字正则表达式(网上找)
......
if(txt.test(date))
{
span1.style.display='inline';
}
if(....)
{....} --------------------编程问答--------------------
/*
Author:qlb
Date:August,18 2009
FUNCTION:CHECK METHOD
*/
var validateExpress={
strEmail: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*|(\"\")?\<\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\>$/,//验证规则
strPort:/^\d{1,5}$/,//1~65535
strTelPone:/^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/,
strMobile: /(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/,
strUrl:/^(((ht|f)tp(s?))\:\/\/)[a-zA-Z0-9]+\.[a-zA-Z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/,
strZipcode:/^[1-9]\d{5}$/,
strFax:/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/,
strInt:/^\d+$/,
strFloat:/^[0-9]+(\.[0-9]+)?$/,
eEmailMsg:"请确认电子邮箱地址是否正确!",//信息反馈
ePortMsg:"请确认端口号是否正确且范围不能超过[1~65535]!",
eTelPone:"请确认电话号码是否正确!",
eMobile:"请确认手机号码是否正确!",
eUrl:"请确认网页地址是否正确!",
eQQ:"请确认QQ号码是否正确!",//
eMSN:"请确信MSN是否正确!",
eZipCode:"请确认邮政编是否正确!",
eFAX:"请确认传真是否正确!",
eEmpty:"不能为空!",
eIntMsg:"数据输入是否正确!",
trim:function(data){
return data.replace(/\s/g,"");
},empty:function(data){
return this.trim(data)=="";
},ckEmail:function(data){
data=this.trim(data);
if(data==""){
return true;
}
return this.strEmail.test(data);
},ckFloat:function(data){
data=this.trim(data);
if(data=="")return true;
return this.strFloat.test(data);
},ckZipCode:function(data){
data=this.trim(data);
if(data==""){
return true;
}
return this.strZipcode.test(this.trim(data));
},ckInt:function(data){
data=this.trim(data);
return this.strInt.test(data);
},getMaxDay:function(year,month){// 功能:得到某年某月的天数
if(month==4||month==6||month==9||month==11)
return 30;
if(month==2)
if(year%4==0&&year%100!=0 || year%400==0)
return 29;
else
return 28;
return 31;
} ,ckDate:function(data){ //功能:判断是否是日期( 允许为空)
data = this.trim(data);
if(data == "" ){return true ;}
// var fmt="YYYY-MM-DD";日期格式
var regu = "^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$";
var re = new RegExp(regu);
if(!re.test(data))
{
return false;
}
var mIndex = data.indexOf("-");
var dIndex = data.lastIndexOf("-");
var year = data.substring(0,4);
var month = data.substring(5,5+(dIndex-mIndex-1));
var day = data.substring(dIndex+1,dIndex+1+(data.length-1-dIndex));
if(year>"2999"|| year< "1111") return false;
if(month>12 || month< 1) return false;
if(day>this.getMaxDay(year,month) || day< 01) return false;
return true;
}
}
HTML:
<input type="text" onblur="javascript:if(validateExpress.ckFloat(this.value)==true)alert('为float');else alert('false');" />--------------------编程问答-------------------- http://hi.csdn.net/link.php?url=http://blog.csdn.net%2Flovely_baby --------------------编程问答-------------------- 最好是用正则表达式,不过textbox输入日期,你也可以去下载一个My97日期控件,简单方便 --------------------编程问答-------------------- 通过jquery中form验证
var checkForm={
email:function(objValue){
return /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/.test(objValue);
},
digital:function(objValue){
return /^[1-9]\d*$/.test(objValue);
},
str:function(objValue){
return /^\w+$/.test(objValue);
},
或 <asp:RegularExpressionValidator ID="rev9" runat="server"
ControlToValidate="txt" ErrorMessage=""
ValidationExpression="^[0-9]\d*\.\d{0,2}$|^\d*$"></asp:RegularExpressionValidator> --------------------编程问答-------------------- mark
补充:.NET技术 , ASP.NET