JS 常用验证

来源:互联网 发布:金融大数据发展趋势 编辑:程序博客网 时间:2024/04/30 02:10

js关于输入内容是否为空,以及输入数字,时间,长短是否正确的判断 收藏
输入内容的判断,包括是否为空,是否为数字,是否为日期(短日期格式,长日期格式,时间),输入的是否为email,输入长短;调用的时候只需要设置输入框的属性即可;

如果大家还需要其他判断,欢迎指正;

<script language="javascript">

/*
albertwlz 2010 V1.0 Build 0419
(C)Copyright2003- 2010 47147.com , 网址导航.
Homepage  : http://www.47147.com
E-Mail : 294411855@qq.com
QQ : 294411855
 */
//js通用函数,所有的
 
//获取id的object
function $(id) {
 return document.getElementById(id);
}

//判断日期是否正确
function isDate(strDate){
 var   strSeparator = "-";   //日期分隔符 
 var   strDateArray; 
 var   intYear; 
 var   intMonth; 
 var   intDay; 
 var   boolLeapYear; 
 //var strDate=form1.a.value   //表单中的日期值
 strDateArray = strDate.split(strSeparator); 
 
 //判断是否为年、月、日三段
 //alert('提示: 日期格式错误! /r/n  请依【YYYY-MM-DD】格式输入!');
 if(strDateArray.length!=3){return   false;}
 
 //设置为10进制
 intYear  =  parseInt(strDateArray[0],10); 
 intMonth  =  parseInt(strDateArray[1],10); 
 intDay   =   parseInt(strDateArray[2],10); 
 
 //判断年、月、日是否为数字
 if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)){return   false;}
 
 //判断月份大小是否为1到12
 if(intMonth>12||intMonth<1){return   false;}
 
 //判断1 3 5 7 8 10 12月是否为1到31天
 if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)){return   false;}
 
 //判断4 6 9 11月是否为1到30天
 if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)){return   false;}
 
 //判断2月是否为1到28或29天
 if(intMonth==2){ 
  if(intDay<1){return   false;}
  boolLeapYear   =   false; 
  if((intYear%4==0 && intYear %100!=0)||(intYear %400==0)){boolLeapYear=true;}
  if(boolLeapYear){ 
   if(intDay>29){return   false;}
  } 
  else{ 
   if(intDay>28){return   false;}
  } 
 }
 //正确返回
 return   true; 
}

//判断时间是否正确
function isTime(strTime){
 var   strSeparator = ":";   //时间分隔符 
 var   strTimeArray; 
 var   intHour; 
 var   intMinute; 
 var   intSecond; 
 //var strTime=form1.a.value   //表单中的时间值
 strTimeArray = strTime.split(strSeparator); 
 
 //判断是否为小时、分钟、秒钟三段
 //alert('提示: 时间格式错误! /r/n  请依【YYYY-MM-DD HH:MM:SS】格式输入!');
 if(strTimeArray.length!=3){return   false;}
 
 //设置为10进制
 intHour  =  parseInt(strTimeArray[0],10); 
 intMinute  =  parseInt(strTimeArray[1],10); 
 intSecond   =   parseInt(strTimeArray[2],10); 
 
 //判断小时、分钟、秒钟是否为数字
 if(isNaN(intHour)||isNaN(intMinute)||isNaN(intSecond)){return   false;}
 
 //判断小时、分钟、秒钟是否为0到59
 if(intHour>59||intHour<0||intMinute>59||intMinute<0||intSecond>59||intSecond<0){return   false;}
 
 return true;
}

//是否为长时间格式(日期加时间)
function isDatetime(strDatetime){
 var   strSeparator = " ";   //日期时间分隔符 
 var   strDatetimeArray; 
 var   strDate; 
 var   strTime; 
 //var strDatetime=form1.a.value   //表单中的日期时间值
 strDatetimeArray = strDatetime.split(strSeparator); 
 
 //判断是否为日期时间两段
 //alert('提示: 时间格式错误! /r/n  请依【HH:MM:SS】格式输入!');
 if(strDatetimeArray.length!=2){return   false;}
 
 //设置为10进制
 strDate  =  strDatetimeArray[0]; 
 strTime  =  strDatetimeArray[1]; 
 
 //判断日期和时间是否正确
 if(!isDate(strDate)||!isTime(strTime)){return   false;}
 
 return true;
}

//对比开始时间和结束时间
function compareTwoDate(firstDate,secondDate){
 if(firstDate!=""&&secondDate!="")
 { //输入不为空时;
  // 对字符串进行处理
  // 以 - / 或 空格 为分隔符, 将日期字符串分割为数组
  var date1 = firstDate.split("-");
  var date2 = secondDate.split("-");
  // 创建 Date 对象
  var myDate1 = new Date(date1[0],date1[1],date1[2]);
  var myDate2 = new Date(date2[0],date2[1],date2[2]); 
  // 对日起进行比较
  if (myDate1 <= myDate2)
  {
   return true;
  }else
  {
   alert ("提示:  开始时间不能大于结束时间!");
   return false;
  }
 }
 else
 {
 return true;
 }
}

//是否email
function isEmail(thisEmail){
 var reyx= /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
 return(reyx.test(thisEmail));
}

//判断输入
function checkEmpty(thisName)
{
 //alert(thisName);
 var thisArr = $(""+thisName+"");
 var thisArrLen = thisArr.length;
 for(i=0;i<thisArrLen;i++){
    //alert(thisArr(i).isEmpty);
     //判断是否为空 isEmpty
  if (thisArr(i).isEmpty ==1){
   if (thisArr(i).value == "")      
     {      
    alert(thisArr(i).chkName+"不能为空!");      
    thisArr(i).focus();      
    return (false);      
     } 
  }
 
  //判断最大长度 isMaxLen
  if (thisArr(i).value != "" && thisArr(i).isMaxLen != "undefined" && parseInt(thisArr(i).isMaxLen)>0){
   if (parseInt(thisArr(i).value.length) > thisArr(i).isMaxLen)      
     {      
    alert(thisArr(i).chkName+"超出了最大长度,最大长度为:"+thisArr(i).isMaxLen);      
    thisArr(i).focus();      
    return (false);      
     } 
  }
 
  //判断最小长度isNumber
  if (thisArr(i).value != "" && thisArr(i).isMinLen != "undefined" && parseInt(thisArr(i).isMinLen)>0){
   if (parseInt(thisArr(i).value.length) < thisArr(i).isMinLen)      
     {      
    alert(thisArr(i).chkName+"没有达到最小长度,最小长度为:"+thisArr(i).isMinLen);      
    thisArr(i).focus();      
    return (false);      
     } 
  }
 
  //判断是否为日期格式 isDate
  if (thisArr(i).value != "" && thisArr(i).isDate == 1){
   if (!isDate(thisArr(i).value))      
     {      
    alert(thisArr(i).chkName+"必须为日期格式,请依【YYYY-MM-DD】格式输入!");      
    thisArr(i).focus();      
    return (false);      
     } 
  }
 
  //判断是否为时间格式 isTime
  //alert(thisArr(i).isTime)
  if (thisArr(i).value != "" && thisArr(i).isTime == 1){
   if (!isTime(thisArr(i).value))      
     {      
    alert(thisArr(i).chkName+"必须为时间格式,请依【HH:MM:SS】格式输入!");      
    thisArr(i).focus();      
    return (false);      
     } 
  }
 

//判断是否为长日期格式
  if (thisArr(i).value != "" && thisArr(i).isDatetime == 1){
   if (!isDatetime(thisArr(i).value))      
     {      
    alert(thisArr(i).chkName+"必须为日期时间格式,请依【YYYY-MM-DD HH:MM:SS】格式输入!");      
    thisArr(i).focus();      
    return (false);      
     } 
  }
 
  //判断是否为数字格式 isNumber 
  if (thisArr(i).value != "" && thisArr(i).isNumber == 1){
   if (isNaN(thisArr(i).value))      
     {      
    alert(thisArr(i).chkName+"必须为数字!");      
    thisArr(i).focus();      
    return (false);      
     } 
  }
 
  //判断是否为邮箱 isEmail
  if (thisArr(i).value != "" && thisArr(i).isEmail == 1){
   if (!isEmail(thisArr(i).value))      
     {      
    alert(thisArr(i).chkName+"填写不正确,请正确填写邮箱!");      
    thisArr(i).focus();      
    return (false);      
     } 
  } 
 }
 return (true);
}

</script>

页面调用js的设置

<form name="FormLogin" id="FormLogin" method="post" action="newsSave.asp" onSubmit="return checkEmpty('FormLogin')">nput name="Subject" id="Subject" type="text" size="50" maxlength="50" chkName="新闻标题" isEmpty="1">

<input name="submit" type="submit" id="submit" value=" 提 交 ">

</form>

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wlzalbert/archive/2010/04/29/5542300.aspx

原创粉丝点击