//<script language=javascript>
RegExp.isInt = function(str){
	return /^(-|\+)?\d+$/ig.test(str); //　　不可以为空
}
RegExp.isIntOrNull = function(str){
	return /^[-+]?\d*$/ig.test(str);  //可以为空
}
RegExp.isIntUp0 = function(str){
	//大于0的整数 （用于传来的ID的验证)
	return /^\d+$/ig.test(str);
}
RegExp.isIntDown0 = function(str){
	//负整数的验证
	return /^-\d+$/ig.test(str);
}
RegExp.isIntMax = function(str,max){
	if(!RegExp.isInt(str)) return false;
	//整数不能大于iMax
	return Number(str)<=max;
}
RegExp.isIntMin = function(str,min){
	//整数不能小于iMin
	if(!RegExp.isInt(str)) return false;
	return Number(str)>=min;
}
RegExp.isTime = function(str){
	//短时间，形如 (13:04:06)
	var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
	if (a == null) { return false;}
	if (a[1]>24 || a[3]>60 || a[4]>60)
	  return false
	return true;
}
RegExp.isDate = function(str){
	//短日期，形如 (2003-12-05)
	 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]); 
	 return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
RegExp.isDateTime = function(str){
	//长时间，形如 (2003-12-05 13:04:06)
	var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; 
	var r = str.match(reg); 
	if(r==null)return false; 
	var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
	return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
RegExp.isLetter = function(str){
	//判断字符全部由a-Z或者是A-Z的字字母组成
	return !/[^a-zA-Z]/g.test(str);
}
RegExp.isLetterOrNumber = function(str){
	//判断字符由字母和数字组成
	return !/[^0-9a-zA-Z_]/g.test(str);
}
RegExp.isChar = function(str){
	// 判断字符由字母和数字，下划线组成。且开头的只能是下划线和字母
	return /^([a-zA-z]{1})([\w]*)$/g.test(str);
}
RegExp.isEmail = function(mail){
	//email的判断
	//return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
	//				"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"
	//return (new RegExp(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/).test(mail));
	if(mail == null) return false;
	return mail.indexOf("@") != -1;
}
RegExp.isIdCardNo = function(num)
{
	if (isNaN(num)) {/*alert("输入的身份证号不是数字！");*/ return false;}
	var len = num.length, re; 
	if (len == 15)
	  re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
	else if (len == 18)
	  re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
	else {/*alert("输入的身份证号位数不对！"); */return false;}
	var a = num.match(re);
	if (a != null)
	{
	  if (len==15)
	  {
		var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
		var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
	  }
	  else
	  {
		var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
		var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
	  }
	  if (!B) {/*alert("输入的身份证号 "+ a[0] +" 里出生日期不对！");*/ return false;}
	}
	return true;
}
RegExp.isPhone = function(str) {
	//电话号码的验证
	var reg=/(^[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}$)/ig;
	return reg.test(str);
}
RegExp.isIp = function(str){
	var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
	var re=str.split(".")
	return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}
/*
</script>
<input id="txt">
<input type=button value=大于0 onclick="alert(RegExp.isIntUp0(txt.value))">
<input type=button value=小于0 onclick="alert(RegExp.isIntDown0(txt.value))">
<input type=button value=小于等于10 onclick="alert(RegExp.isIntMax(txt.value,10))">
<input type=button value=大于等于10 onclick="alert(RegExp.isIntMin(txt.value,10))">
<input type=button value=时间 onclick="alert(RegExp.isTime(txt.value))">
<input type=button value=日期 onclick="alert(RegExp.isDate(txt.value))">
<input type=button value=时期时间 onclick="alert(RegExp.isDateTime(txt.value))">
<input type=button value=字母 onclick="alert(RegExp.isLetter(txt.value))">
<input type=button value=字母数字 onclick="alert(RegExp.isLetterOrNumber(txt.value))">
<input type=button value=字符 onclick="alert(RegExp.isChar(txt.value))">
<input type=button value=Email onclick="alert(RegExp.isEmail(txt.value))">
<input type=button value=身份证 onclick="alert(RegExp.isIdCardNo(txt.value))">
<input type=button value=电话号码 onclick="alert(RegExp.isPhone(txt.value))">
*/