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

📄 validation.js

📁 Java开发的权限管理的例子
💻 JS
字号:
/**
 *  Branch Tag  : BMS 1.1
 *  Branch Time : 2002-04-19
 *  
 *  Change History :
 *  
 *     changed by    : 
 *     change time   : 
 *     change reason : 
 *     change action : 
**/
/**
 *	New a error message localizer in jsp file here.
 *	So the variable "errorLocalizer" is system reserved.
 */

//	client side validation code
function getErrormessage( errormsg )
{
	//	should define a suffix filter array
	var suffix = "<br>";
	var index = errormsg.lastIndexOf(suffix);
	
	if (index!=-1)
		return errormsg.substring(0,index);
	else
		return errormsg;
}	
	
function	isEmail ( js_value )
{
	var	pos ;
	var	re ;
	re = /^\s*$/ ;

	if ( js_value.match(re) )
	{
		return true ;
	}

	pos = js_value.indexOf( '@',0 ) ;
	if ( js_value.length <= 5 ) return false ;
	if ( pos==-1 || pos==0 || pos==(js_value.length-1) ) return false ;

	pos = js_value.indexOf( '.',0 ) ;
	if ( pos<=0 || pos==(js_value.length-1) ) return false ;

	return true ;
}

function	isPhone (js_value)
{
		var	re = /^[0-9\*\-( )]*$/;

		if (js_value.match (re))
				return	true;
		return	false;
	
}

function isMobilephone(js_value)
{
		var	re = /^[0-9\s]*$/;

		if (js_value.match (re))
			return	true;
		return	false;
}

function isPostcode(js_value)
{
		var	re ;
		re = /^\s*$/ ;
	
		if ( js_value.match(re) )
		{
			return true ;
		}
		if ( !is_natural(js_value) || js_value.length!=6 )
		{
			return false ;
		}
		return true ;
}

//	used by isPostCode
function	is_natural ( js_value )
{
		var	re ;
		re = /^\s*$/ ;
	
		if ( js_value.match(re) )
		{
			return true ;
		}
	
		re = /^\+{0,1}[0-9]*$/ ;
		if ( !js_value.match(re) ) return false ;
		return true ;
}
	
function isURL(js_value)
{
			
		var pos, posdot ;
		var	re ;
		re = /^\s*$/ ;
	
		if ( js_value.match(re) )
		{
			return true ;
		}
	
		pos = js_value.indexOf('://',0) ;
		if ( pos<0 ) return false ;
		posdot = js_value.lastIndexOf('.') ;
		if ( posdot<pos ) return false ;
		if ( posdot == js_value.length-1 ) return false ;
		return true ;
}

function isNumber(js_value)
{
	
	var	re ;
	re = /^\s*$/ ;

	if ( js_value.match(re) )
	{
		return true ;
	}
	if ( isNaN(js_value) || js_value.indexOf('.',0) >= 0 )	
	{
		return false ;
	}
	return true ;
		
}

function isDouble(js_value)
{
		var re;
		re = /^\s*$/;
		if( js_value.match(re))
		{
				return true;
		}
		
		if(isNaN(js_value))
				return false;
		return true;
}

function isPositive(js_value)
{
	if	(isDouble(js_value)&&js_value>0)
		return	true;
}

function isDate(date, format)
{
	if (format != 'yyyy-MM-dd')
		format = 'yyyy-MM-dd';
	if (date.length!=10||date==null)
		return false;
		
	var year = parseInt(date.substring(0,4));
	var month = parseInt(date.substring(5,7));
	var day = parseInt(date.substring(8,10));
	//by lixinqian, to deal with date format such as 200K-02-03 or 2000-01-32
	if(!(date.substring(0,4) + date.substring(5,7) + date.substring(8,10) > 19000000))
		return false;	
	if(month<1 || month>12 || day<1 || day >31)
		return false;		
		
	//	return when some date field not specify
	if (isNaN(year) || isNaN(month) || isNaN(day))
	{
		return false;
	}
	
	//	validate the month only has 30 days
	if (month==4||month==6||
		month==9||month==11)
	{
		if (day>30) return false;
		
		return true;
	}
	
	//	validate the February
	if (month==2)
	{
		//	if the year is leap year
		if ((year%400==0)||
			((year%100!=0)&&(year%4==0)))
		{
			if (day>29)	return false;
		}
		else
		{
			if (day>28)	return false;
		}
		
		return true;
	}
	
	if (day>31) return false;
	
	return true;
}

function isMonth(moon, format)
{
	if (format != 'yyyy-MM')
		format = 'yyyy-MM';
	
	if (moon.length!=7||moon==null)
		return false;
		
	var year = parseInt(moon.substring(0,4));
	var month = parseInt(moon.substring(5,7));
	

	//by lixinqian, to deal with date format such as 200K-02-03 or 2000-01-32
	if(!(moon.substring(0,4) + moon.substring(5,7) > 190000))
		return false;	
	if(month<1 || month>12)
		return false;		
		
	//	return when some date field not specify
	if (isNaN(year) || isNaN(month))
	{
		return false;
	}
	
	return true;
}

function isYear(annual, format)
{
	if (format != 'yyyy')
		format = 'yyyy';
	
	if (annual.length!=4||annual==null)
		return false;
		
	var year = parseInt(annual.substring(0,4));

	//by lixinqian, to deal with date format such as 200K-02-03 or 2000-01-32
	if(!(annual.substring(0,4) > 1900))
		return false;	
	//	return when some date field not specify
	if (isNaN(year))
	{
		return false;
	}
	
	return true;
}

function	isLoginname (js_value)
{
	if (isEmpty (js_value))
		return	true;
	
	var re = '[A-Za-z]+[A-Za-z0-9_]*';
	return	regmatch (js_value, re)
}

function	isCode (js_value)
{
	if (isEmpty (js_value))
		return	true;
	
	var re = '[A-Za-z0-9_]*';
	return	regmatch (js_value, re)
}

function	isPassword (js_value)
{
	if (isEmpty (js_value))
		return	true;
	
	var re = '[A-Za-z0-9_]*';
	return	regmatch (js_value, re)
}

function	isPrice (js_value)
{
	return	isDouble (js_value);
}

function	isEmpty (js_value)
{
	var re;
	re = /^\s*$/;
	if(js_value.match (re))
	{
		return true;
	}
	return	false;
}

function contains(s1,s2)
{
	var s = s1.lastIndexOf(s2);
	if (s!=-1)
		return true;
	return false;
}

function regmatch (s1, s2)
{
//	eval ("re = /^" + s2 + "$/");
	re = new RegExp ('^' + s2 + '$')
	return s1.match (re);
//	return s1.match (s2);
}

function strlength(s1,minsize,maxsize)
{
	if (minsize == Number.MAX_VALUE)
		minsize = 0;
	
	var len = s1.length;
	if (len>=minsize && len <= maxsize )
		return true;
	else
		return false;
}

function arraysize(aArray,minsize,maxsize)
{
	if (minsize == Number.MAX_VALUE)
		minsize = 0;
	
	var size = aArray.length;
	if(size >=minsize && size <= maxsize )
		return true;
	else
		return false;
}

function date_compare(date1, date2)
{
	var  date1_time = date1.getTime();
	var  date2_time = date2.getTime();
	
	if (date1_time > date2_time)
			return 1;
	if (date1_time == date2_time)
			return 0;
	return -1;
}

function string_compare(str1, str2)
{
	var len1 = str1.length;
	var len2 = str2.length;
	
	var n;
	if (len1 > len2) n = len2;
		else n = len1;
	
	var i = 0;
	var j = 0;

	while (n-- != 0) 
	{
	    var c1 = str1.charCodeAt(i++);
	    var c2 = str2.charCodeAt(j++);
	    if (c1 != c2) 
	    {
			return c1 - c2;
	    }
	}
	
	return len1 - len2;
    
}

function validate_date(year, month, day)
{
	if (null==year||
		null==month||
		null==day) 
		return;
	
	var year_sel	= year.selectedIndex;
	var month_sel	= month.selectedIndex;
	var day_sel		= day.selectedIndex;
	
	var year_num	= parseInt(year.options[year_sel].value);
	if (isNaN(year_num))
		year_num	= parseInt(year.options[year_sel].text);
		
	var month_num	= parseInt(month.options[month_sel].value);
	if (isNaN(month_num))
		month_num	= parseInt(month.options[month_sel].text);
		
	var day_num		= parseInt(day.options[day_sel].value);
	if (isNaN(day_num))
		day_num		= parseInt(day.options[day_sel].text);
	
	//	return when some date field not specify
	if (isNaN(year_num) || isNaN(month_num) || isNaN(day_num))
	{
		return;
	}
	
	var alert_str = year_num + "年" + month_num + "月没有" + day_num + "天!";
	
	//	validate the month only has 30 days
	if (month_num==4||month_num==6||
		month_num==9||month_num==11)
	{
		if (day_num>30)	alert(alert_str);
		return;
	}
	
	//	validate the February
	if (month_num==2)
	{
		//	if the year is leap year
		if ((year_num%400==0)||
			((year_num%100!=0)&&(year_num%4==0)))
		{
			if (day_num>29)	alert(alert_str);
		}
		else
		{
			if (day_num>28)	alert(alert_str);
		}
		
		return;
	}
}

function	getValue (js_obj)
{
	if (null == js_obj)
		return	null;

	var	re, i;
	re = /^\s*$/ ;

  	if (js_obj.length)
  	{
		if (js_obj[0].type == "checkbox")
		{
			for (i=0; i<js_obj.length; i++)
				if (js_obj[i].checked == true)
					return	js_obj[i].value;
			return	null;
		}
		else if (js_obj[0].type == "radio")
		{
			for (i=0; i<js_obj.length; i++)
				if (js_obj[i].checked == true)
					return	js_obj[i].value;
			return	null;
		}
  	}
 	else
  	{
		if (js_obj.type == "select-multiple")
		{
			if (js_obj.selectedIndex < 0)
				return	null;
			else
				return	js_obj[js_obj.selectedIndex].value;
		}
		else if (js_obj.type == "select-one")
		{
			if (js_obj.selectedIndex < 0)
				return	null;
			else
				return	js_obj[js_obj.selectedIndex].value;
		}
		else if (js_obj.type == "text")
		{
		}
		else if (js_obj.type == "checkbox") 
		{
			if (js_obj.checked == false)
				return	null;
		}
		else if (js_obj.type == "radio")
		{
			if (js_obj.checked == false)
				return	null;
		}

		return	js_obj.value;
  	}

	return	js_obj.value;
}

	function checkNull(element,cname){
		
		if(element.value==""){
			alert("请输入"+cname+"!");
			element.focus();
			return false;
		}else{
		   var str = element.value ;
		   var len = str.length ;
		   j= 0 ;
		   for(i=0;i<len;i++){
		      substr =  str.substring(i,i+1);
			  if(substr==" "){
			     j = j+1 ; 
			  }
		   }
		   if(j==len){
		       alert("请输入"+cname+"!");
			   element.focus();
			    return false;
		   }
		}
		return true;
	}
	
	function checkNum(element,cname){
		if(isNaN(element.value)){
			alert(cname+"必须为数字!");
			element.focus();
			return false;
		}
		return true;
	}

	function checkMax(element,max,cname){
		if(element.value.getByteSize()>=max){
			alert(cname+" 字数过长 !");
			element.focus();
			return false;
		}
		return true;
	}
	
	function checkLen(element,len,cname){
	   if(element.value.length!=len){
	     alert(cname+"长度必须为"+len+"位!");
	     element.focus() ;
	     return false;
	   }
	   return true ;
	}
	

⌨️ 快捷键说明

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