⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.js

📁 在线考试系统
💻 JS
字号:
// 将一个变量转换为对象
function var_to_obj(val)
{
	this.value=val;
}
// 判断是否大于某个数
function is_greater(field,crit,limit)
{
	var Ret = (is_numeric(field,-1) ) ? (field.value > limit )  : false;
	if (!Ret)
		doCritCode(field,crit,"Value must be greater than "+limit);
	return(Ret);
}
// 判断是否小于某个数
function is_less(field,crit,limit)
{
	var Ret = (is_numeric(field,-1) ) ? (field.value < limit )  : false;
	if (!Ret)
		doCritCode(field,crit,"Value must be less than "+limit);
	return(Ret);
}

function is_numeric(field,crit,msg)
{
	var Ret = true;
	var NumStr="0123456789";
	var decUsed=false;
	var chr;
	for (i=0;i<field.value.length;++i)
	{
		chr=field.value.charAt(i);
		if (NumStr.indexOf(chr,0)==-1)
		{
			if ( (!decUsed) && chr==".")
			{
				decUsed=true;
			}
			else
			{
				Ret=false;
			}
		}
	}
	if (!Ret)
		doCritCode(field,crit,msg);
	return(Ret);
} 
 // 判断是否是价格
function is_price(field,crit,msg)
{
	var Ret = true;
	var NumStr="0123456789";
	var decUsed=false;
	var chr;
	for (i=0;i<field.value.length;++i)
	{
		chr=field.value.charAt(i);
		if (NumStr.indexOf(chr,0)==-1)
		{
			if ( (!decUsed) && chr==".")
			{
				decUsed=true;
			}
			else
			{
				Ret=false;
			}
		}
	}
	if(Ret)
	{
		if(decUsed&&(field.value.length-field.value.indexOf('.')<4))
		;
		else if(decUsed)
			Ret=false;
	}
	if (!Ret)
		doCritCode(field,crit,msg);
	return(Ret);
} 
 // 判断是否是空
function Is_Null(field,crit,msg)
{
	Text=""+field.value;
	if(Text.length)
	{
		for(var i=0;i<Text.length;i++)
		if(Text.charAt(i)!=" ")
		break;
		if(i>=Text.length)
		Ret=true;
		Ret=false;
	}
	else
		Ret=true;
	if (Ret)
		doCritCode(field,crit,msg);  
	return(Ret);
}

function IsSpace(field)
{
	var Text=""+field.value;
	if(Text.length)
	{
		for(var i=0;i<Text.length;i++)
			if(Text.charAt(i)!=" ")
				break;
		if(i>=Text.length)
			field.value="";
	}
}
 
function doCritCode(field,crit,msg)
{
	if ( (-1!=crit) )
	{
		alert(msg)
		if (crit==1)
		{
			field.focus();  // focus does not work on certain netscape versions
			field.select();
		}
	}
}
// 判断是否是整数(不能为零)
function is_int(field,crit,msg){
	var Ret = true;
	var NumStr="0123456789";
	var chr;

	for (i=0;i<field.value.length;++i)
	{
		chr=field.value.charAt(i);
		if (NumStr.indexOf(chr,0)==-1)
		{
			Ret=false;
		}
	}
	if (field.value == 0){
	  Ret=false;
	}
	if (!Ret)
		doCritCode(field,crit,msg);
	return(Ret);
}
// 判断是否是整数(可以为零)
function is_int2(field,crit,msg){
	var Ret = true;
	var NumStr="0123456789";
	var chr;

	for (i=0;i<field.value.length;++i)
	{
		chr=field.value.charAt(i);
		if (NumStr.indexOf(chr,0)==-1)
		{
			Ret=false;
		}
	}	
	if (!Ret)
		doCritCode(field,crit,msg);
	return(Ret);
}
// 判断是否是日期
function is_date(field,crit,msg){
	var Ret = false;
	var mark1;
	var mark2;

	if(field.value=="")
		return true;
	cd=new Date();

	if ( (mark1 = field.value.indexOf('-'))==-1)
		mark1=field.value.indexOf('-')
	if (mark1>-1)
	{
		if ( (mark2 = field.value.indexOf('-',mark1+1)) ==-1)
			mark2=field.value.indexOf('-',mark1+1);
		if ((mark2>-1)&&(mark2+1<field.value.length) )
		{
			year = new var_to_obj(field.value.substring(0,mark1));
			month = new var_to_obj(field.value.substring(mark1+1,mark2));
			day = new var_to_obj(field.value.substring(mark2+1,field.value.length));
			if (
				(is_greater(day,-1,0))&&(is_less(day,-1,32))&&
				(is_greater(month,-1,0))&&(is_less(month,-1,13))&&
				(is_greater(year,-1,1900))&&(is_less(year,-1,2500))
				)
				Ret=true;
		}
	}
	if (!Ret) doCritCode(field,crit,msg);

	return(Ret);
}
  
function doCrit(field,crit,msg)
{
	if ( (-1!=crit) )
	{
		alert(msg);
		if (crit==1)
		{
			field.focus();  // focus does not work on certain netscape versions
		}
	}
}
// 判断是否有有效数据被选中
function IsSelected(field,crit,msg)
{
	value=""+field.options[field.selectedIndex].value;
	if(value=="0")
		Ret=false;
	else
		Ret=true;
	if (!Ret)
		doCrit(field,crit,msg);  
	return(Ret);
}



// 检查是否是字符
// cCharacter:输入值
function isCharacter( cCharacter )
{
	var sFormat = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	
	if( sFormat.indexOf( cCharacter, 0 ) == -1 )
	{
		return false;
	}
	
	return true;
}

// 检查是否是其它可以作名称的字符
// cCharacter:输入值
function isOtherNameCharacter( cCharacter )
{
	var sFormat = "_";
	var sFormat1 = "-"
	
	if( sFormat.indexOf( cCharacter, 0 ) == -1 && sFormat1.indexOf( cCharacter, 0 ) == -1 )
	{
		return false;
	}
	
	return true;
}

// 检查是否是可以作名称的字符
// sValue:输入值
function isNameCharacter( sValue )
{
	if( sValue == null )
	{
		return false;
	}
	
	for( i = 0; i < sValue.length; i ++ )
	{
		var cCharacter = sValue.charAt( i );
		if( isDigital( cCharacter ) == false && isCharacter( cCharacter ) == false && isOtherNameCharacter( cCharacter ) == false )
		{
			return false;
		}
	}
	
	return true;
}

// 检查是否是Email
// sValue:输入值,合法格式为a@b.c.d此类形式
function isEmail( sValue )
{
	var iFirstIndex = 0;
	var iSecondIndex = sValue.indexOf( '@' );
	if( iSecondIndex == -1 )
	{
		return false;
	}

	var sTemp = sValue.substring( iFirstIndex, iSecondIndex );
	if( isNameCharacter( sTemp ) == false )
	{
		return false;
	}
	
	iSecondIndex = sValue.indexOf( '.' );
	if( iSecondIndex == -1 || sValue.substring( sValue.length-1, sValue.length ) == '.' )
	{
		return false;
	}
	else if(  sTemp.length == sValue.length - 2 )	// The last two characters are '@' and '.'
	{
		return false;
	}
	else
	{
		var sTempValue = sValue;
		iSecondIndex = sValue.indexOf( '@' );
		while( iSecondIndex != -1 )
		{
			iFirstIndex = iSecondIndex + 1;
			sTempValue = sTempValue.substring( iFirstIndex, sTempValue.length );	// The right section of value
			iSecondIndex = sTempValue.indexOf( '.' );
			//document.write( "sTempValue=" + sTempValue + "<br>" );
			sTemp = sTempValue.substring( 0, iSecondIndex );
			//document.write( "sTemp=" + sTemp + "<br>" );
			if( isNameCharacter( sTemp ) == false )
			{
				return false;
			}
		}
		
		if( isNameCharacter( sTempValue ) == false )
		{
			return false;
		}
	}
	
	return true;
} 

// 检查是否是邮编
// sValue:输入值,合法格式为六位整数
function isZIP( sValue )
{
	if( sValue == null )
	{
		return false;
	}
	
	if( sValue.length != 6 )
	{
		return false;
	}
	else
	{
		for( i = 0; i < 6; i ++ )
		{
			if( isDigital( sValue.charAt( i ) ) == false )
			{
				return false;
			}
		}
	}
	
	return true;
} 
//检查是否是机器编号或校验码
// sValue:输入值,合法格式为十位
function MachineNum( sValue )
{
	if( sValue == null )
	{
		return false;
	}
	
	if( sValue.length != 10 )
	{
		return false;
	}
	return true;
}
// 检查是否是数字字符串
// sValue:输入值
function isDigitalString( sValue )
{
	if( sValue == null )
	{
		return false;
	}

	for( i = 0; i < sValue.length; i ++ )
	{
		if( isDigital( sValue.charAt( i ) ) == false )
		{
			return false;
		}
	}
}


//IsEmpty函数判断一个字符串是否为空
function IsEmpty(his)
{
   flag = true;
   for(var i=0;i<his.length;i++)
   {
      if(his.charAt(i)!=" ")
      { 
         flag = false; 
         break;
      }
   }
   return flag;
}
//Trim函数去掉一字符串两边的空格
function Trim(his)
{
   //找到字符串开始位置
   Pos_Start = -1;
   for(var i=0;i<his.length;i++)
   {
     if(his.charAt(i)!=" ")
      {
         Pos_Start = i;
         break; 
      }
   }
   //找到字符串结束位置
   Pos_End = -1;
   for(var i=his.length-1;i>=0;i--)
   {
     if(his.charAt(i)!=" ")
      {
         Pos_End = i; 
         break; 
      }
   }
   //返回的字符串
   Str_Return = ""
   if(Pos_Start!=-1 && Pos_End!=-1)
   {   
		for(var i=Pos_Start;i<=Pos_End;i++)
		{
			   Str_Return = Str_Return + his.charAt(i); 
		}
   }
   return Str_Return;
}  
//IsDigital函数判断一个字符串是否由数字(int or long)组成 
function isDigital(str)   
{
  for(ilen=0;ilen<str.length;ilen++)
  {
    if(str.charAt(ilen) < '0' || str.charAt(ilen) > '9' )
    {
       return false;
    }   
  }
  return true;
}
//IsDigital1函数判断一个字符串是否由数字(int or long)组成 (含负数)
function isDigital1(str)   
{
  for(ilen=0;ilen<str.length;ilen++)
  {
    if (ilen==0)
    {
      if((str.charAt(ilen) < '0' || str.charAt(ilen) > '9') && str.charAt(ilen)!='-')
      {
         return false;
      }
    }
    else
    {
      if(str.charAt(ilen) < '0' || str.charAt(ilen) > '9' )
      {
         return false;
      }
    }   
  }
  return true;
}
//IsFloat函数判断一个字符串是否由数字(int or long or float)组成 
function IsFloat(str)   
{
  flag_Dec = 0
  for(ilen=0;ilen<str.length;ilen++)
  {
    if(str.charAt(ilen) == '.')
    {
       flag_Dec++;
	   if(flag_Dec > 1)
          return false;
       else
          continue;
    }         
    if(str.charAt(ilen) < '0' || str.charAt(ilen) > '9' )
    {
       return false;
    }   
  }
  return true;
}
//IsTelephone函数判断一个字符串是否由数字或'-','*'组成 
function IsTelephone(str)   
{
  for(ilen=0;ilen<str.length;ilen++)
  {
    if(str.charAt(ilen) < '0' || str.charAt(ilen) > '9' )
    {
		if((str.charAt(ilen)!='-')&&(str.charAt(ilen)!='*'))
        return false;
    }   
  }
  return true;
}
//openwin函数弹出一个自定义大小的新窗口 
function openwin(theU,theN,W,H,X,Y){
  	if (theU==null) theU="about:blank";
  	if (theN==null) var Win = window.open(theU,'_top');
  	else {
   	 	if (X==null) X=Math.ceil( (window.screen.width-W)/2  )
    		if (Y==null) Y=Math.ceil( (window.screen.height-H)/2  )
    		var Win =window.open(theU,theN,'top=100,left=100,toolbar=0,scrollbars=1,location=0,directories=0,status=1,menubar=0,width='+W+',height='+H);
//var Win=window.showModalDialog(theU,theN,'status:no;center:yes;help:no;minimize:no;maximize:no;border:thin;statusbar:no;dialogWidth:400px;dialogHeight:500px');
    //		Win.resizeTo( Math.ceil( window.screen.width*0.75) , Math.ceil( window.screen.height *0.75) )
    		Win.moveTo  ( Math.ceil( X ) , Math.ceil( Y ) );
  	}
	Win.opner=document.window;
  	Win.focus();
}
//openmodal模式窗口
function openmodal(theU,theN,W,H,X,Y){
  	if (theU==null) theU="about:blank";
  	if (theN==null) var Win = window.open(theU,'_top');
  	else {
   	 	if (X==null) X=Math.ceil( (window.screen.width-W)/2  )
    		if (Y==null) Y=Math.ceil( (window.screen.height-H)/2  )
			var Win=window.showModalDialog(theU,theN,'status:no;center:yes;help:no;minimize:no;maximize:no;border:thin;statusbar:no;dialogWidth:'+W+'px;dialogHeight:'+H+'px');
    //		Win.resizeTo( Math.ceil( window.screen.width*0.75) , Math.ceil( window.screen.height *0.75) )
    		//Win.moveTo( Math.ceil( X ) , Math.ceil( Y ) );
  	}
	//Win.opner=document.window;
  	//Win.focus();
}
//openmodeless非模式窗口
function openmodeless(theU,theN,W,H,X,Y){
  	if (theU==null) theU="about:blank";
  	if (theN==null) var Win = window.open(theU,'_top');
  	else {
   	 	if (X==null) X=Math.ceil( (window.screen.width-W)/2  )
    		if (Y==null) Y=Math.ceil( (window.screen.height-H)/2  )
		var Win=window.showModelessDialog(theU,theN,'status:no;center:yes;help:no;minimize:no;maximize:no;border:thin;statusbar:no;dialogWidth:'+W+'px;dialogHeight:'+H+'px');
    //		Win.resizeTo( Math.ceil( window.screen.width*0.75) , Math.ceil( window.screen.height *0.75) )
    		Win.moveTo  ( Math.ceil( X ) , Math.ceil( Y ) )
  	}
	Win.opner=document.window;
  	Win.focus();
}
//opennew函数弹出一个全屏大小的窗口 
function opennew(theU,theN,W,H,X,Y){
  	if (theU==null) theU="about:blank";
  	if (theN==null) var Win = window.open(theU,'_top');
  	else {
   	 	if (X==null) X=Math.ceil( (window.screen.width-W) / 2 )
    		if (Y==null) Y=Math.ceil( (window.screen.height-H) / 2 )
    
			var Win =window.open(theU,theN,'');
    		Win.resizeTo( Math.ceil(window.screen.width) , Math.ceil(window.screen.height) )
    		Win.moveTo  ( 0 , 0 )
  	}
	Win.opner=document.window;
  	Win.focus();
}
//判断是否数字
function isNumeric(strNumber)
{
  return (strNumber.search(/^(-|\+)?\d+(\.\d+)?$/) != -1);
}
//判断是否非负数
function isUnsignedNumeric(strNumber)
{
  return (strNumber.search(/^\d+(\.\d+)?$/) != -1);
}
//判断是否整数
function isInteger(strInteger)
{
  return (strInteger.search(/^(-|\+)?\d+$/) != -1);
}
//判断是否非负整数
function isUnsignedInteger(strInteger)
{
  return (strInteger.search(/^\d+$/) != -1);
}

// 编写人:李慧鹏
// 检查字符串是否为指定格式(字符串所在的表单控件名,字符串应符合的格式,字符串是否可以为空)
function CheckData(obj,type,empty) 
{
	type.toLowerCase();
	if(empty==true && obj.value=="") return true;
	
	if(type=="date") // 检查日期 
	{
		var Ret = false;
		var mark1;
		var mark2;
		
		if(obj.value=="" && empty==true) return true; // 日期可为空
		cd=new Date();
	
		if ( (mark1 = obj.value.indexOf('-'))==-1) 
			mark1=obj.value.indexOf('-')
		if (mark1>-1)
		{
			if ( (mark2 = obj.value.indexOf('-',mark1+1)) ==-1)
				mark2=obj.value.indexOf('-',mark1+1);
			if ((mark2>-1)&&(mark2+1<obj.value.length) )
			{
				year = new var_to_obj(obj.value.substring(0,mark1));
				month = new var_to_obj(obj.value.substring(mark1+1,mark2));
				day = new var_to_obj(obj.value.substring(mark2+1,obj.value.length));
				if (
					(is_greater(day,-1,0))&&(is_less(day,-1,32))&&
					(is_greater(month,-1,0))&&(is_less(month,-1,13))&&
					(is_greater(year,-1,1900))&&(is_less(year,-1,2500))
					)
					Ret=true;
			}
		}
		if(obj.value=="" && empty==false) Ret=false; // 日期不可为空
		if(obj.value.length<10) Ret=false;		//检查日期是否正确补零
		if(!Ret)
		{
			alert("日期格式错误或未填写日期");
			obj.focus();
			obj.select();
			return false;
		}
	}
	else if(type=="int") //检查整数
	{
		if(obj.value.search(/^\d+(\.\d+)?$/) == -1)
		{
			alert("请填入整数值");
			obj.focus();
			obj.select();
			return false;
		}
	}
	else if(type=="0") //非零检查
	{
		if(obj.value=="0")
		{
			obj.focus();
			alert("未完成选择");
			return false;
		}
	}
	else // 检查字符串是否为空
	{
		if(obj.value=="" && empty==false)
		{
			alert("数据未填写");
			obj.focus();
			obj.select();
			return false;
		}
	}
	
	return true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -