﻿//判断日期格式: MM/DD/YY   MM/DD/YYYY   MM-DD-YY   MM-DD-YYYY
function dateCheck(dateStr) 
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year
	var matchArray = dateStr.match(datePat); // is the format ok?
	if (matchArray == null) 
	{
		return false;
	}
	month = matchArray[1]; // parse date into variables
	day = matchArray[3];
	year = matchArray[4];
    // check month range
	if (month < 1 || month > 12) 
	{
		return false;
	}
	if (day < 1 || day > 31)
	{
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) 
	{
		return false;
	}
	// check for february 29th
	if (month == 2)
	{ 
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day>29 || (day==29 && !isleap)) 
		{
			return false;
		}
	}
	return true;
}

//判断日期格式: yyyy/mm/dd   YYYY-MM-DD
function isDate(str)
{
    var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
    if(r==null)
    {
        return false;
    }
    var d= new Date(r[1], r[3]-1, r[4]); 
    if(!(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]))
    {
        return false;
    }
    return true;
}

//去掉右边空格
String.prototype.Rtrim = function()
{
	return this.replace(/(\s*$)/g, "");
}

//得到字符串的长度(字节数)
String.prototype.len = function()
{
	return this.replace(/[^\x00-\xff]/g,"**").length;
}
 
//判断是否数字
function isDigit(s) 
{ 
    var patrn=/^[0-9]{1,50}$/; 
    if (!patrn.exec(s)) 
    {
        return false;
    }
    
    return true;
} 

//判断输入是否为空,但不能用于只读输入框
//Field:form与需要检测的输入框名称 如: Form1.Title
//msg:提示信息
function checkEmpty(Field,msg)
{
	var re=true;
	var s_pr_Value=eval('document.'+Field+'.value');
	if(s_pr_Value.Rtrim()=="")
	{
		alert(msg);
		eval('document.'+Field+'.focus()');		
		re=false;
	}
	
	return re
}
	
//判断输入是否超过指定长度
//Field:Form与需要检测的输入框名称 如: Form1.Title
//msg:提示信息
function checkLength(Field,msg,MLen)
{
	var re=true;
	var s_pr_Value=eval('document.'+Field+'.value');
	if(s_pr_Value.len()>MLen)
	{
	    alert(msg);
	    eval('document.'+Field+'.focus()');
	    re=false;
	}
	
	return re
}

//替换函数
function MyReplace(s,oldStr,str)
{
    var newStr=s;
    while(newStr.indexOf(oldStr)>-1)
    {
        newStr = newStr.replace(oldStr,str);
    }
    
    return newStr;
}


//得到输入框的Value
function getValue(Field)
{
	return eval("document."+Field).value;
}

//判断是否有效的Email格式
function IsEmail(s)
{
    if(s.length>100)
    {
        return false;
    }
    var regu="^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[_.0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$";
    var re=new RegExp(regu);
    if(s.search(re)!=-1)
    {
        return true;
    }
    else
    {    
        return false;
    }
}

//判断电话号码
function isTel(str)
{
    var reg=/^([0-9]|[\-])+$/g ;
    if(str.length<7 || str.length>18)
    {
        return false;
    }
    else
    {
        return reg.exec(str);
    }
}
