/* 
?????ip????? 
???strIP?ip?? 
???????????true,????false? 
 
*/ 
function isIP(strIP) { 
if (isNull(strIP)) return false; 
var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //??IP???????? 
if(re.test(strIP)) 
{ 
if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true; 
} 
return false; 
} 
 
/* 
?????????????????????? 
???str 
??? 
???????true,????false 
*/ 
function isNull( str ){ 
if ( str == "" ) return true; 
var regu = "^[ ]+$"; 
var re = new RegExp(regu); 
return re.test(str); 
} 
 
 
/* 
??????????????????? 
???str ?????? 
???????????true,????false 
 
*/ 
function isInteger( str ){ 
var regu = /^[-]{0,1}[0-9]{1,}$/; 
return regu.test(str); 
} 
 
/* 
??????????????? 
??? 
s???? 
??? 
????????true,????false 
 
*/ 
function checkMobile( s ){ 
var regu =/^[1][3][0-9]{9}$/; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
}else{ 
return false; 
} 
} 
 
 
/* 
??????????????????? 
??? 
s???? 
??? 
????????true,????false 
 
*/ 
function isNumber( s ){ 
var regu = "^[0-9]+$"; 
var re = new RegExp(regu); 
if (s.search(re) != -1) { 
return true; 
} else { 
return false; 
} 
} 
 
/* 
?????????????????????,????? 
??? 
s???? 
??? 
????????true,????false 
 
*/ 
function isDecimal( str ){ 
if(isInteger(str)) return true; 
var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/; 
if (re.test(str)) { 
if(RegExp.$1==0&&RegExp.$2==0) return false; 
return true; 
} else { 
return false; 
} 
} 
 
/* 
???????????????????? 
???str ?????? 
???????????true,????false 
 
*/ 
function isPort( str ){ 
return (isNumber(str) && str<65536); 
} 
 
/* 
???????????????E-Mail?? 
???str ?????? 
???????????true,????false 
 
*/ 
function isEmail( str ){ 
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/; 
if(myReg.test(str)) return true; 
return false; 
} 
 
/* 
?????????????????? 
???????????????????? 
??? 
s???? 
??? 
????????true,????false 
 
*/ 
function isMoney( s ){ 
var regu = "^[0-9]+[\.][0-9]{0,3}$"; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
} else { 
return false; 
} 
} 
/* 
??????????????????????????? 
??? 
s???? 
??? 
????????true,????false 
 
*/ 
function isNumberOr_Letter( s ){//?????????? 
 
var regu = "^[0-9a-zA-Z\_]+$"; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
}else{ 
return false; 
} 
} 
/* 
??????????????????????? 
??? 
s???? 
??? 
????????true,????false 
 
*/ 
function isNumberOrLetter( s ){//?????????? 
 
var regu = "^[0-9a-zA-Z]+$"; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
}else{ 
return false; 
} 
} 
/* 
???????????????????????? 
??? 
value???? 
??? 
????????true,????false 
 
*/ 
function isChinaOrNumbOrLett( s ){//??????????????? 
 
var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$"; 
var re = new RegExp(regu); 
if (re.test(s)) { 
return true; 
}else{ 
return false; 
} 
} 
 
/* 
?????????? 
???date????fmt????? 
???????????true,????false 
*/ 
function isDate( date, fmt ) { 
if (fmt==null) fmt="yyyyMMdd"; 
var yIndex = fmt.indexOf("yyyy"); 
if(yIndex==-1) return false; 
var year = date.substring(yIndex,yIndex+4); 
var mIndex = fmt.indexOf("MM"); 
if(mIndex==-1) return false; 
var month = date.substring(mIndex,mIndex+2); 
var dIndex = fmt.indexOf("dd"); 
if(dIndex==-1) return false; 
var day = date.substring(dIndex,dIndex+2); 
if(!isNumber(year)||year>"2100" || year< "1900") return false; 
if(!isNumber(month)||month>"12" || month< "01") return false; 
if(day>getMaxDay(year,month) || day< "01") return false; 
return true; 
} 
 
function getMaxDay(year,month) { 
if(month==4||month==6||month==9||month==11) 
return "30"; 
if(month==2) 
if(year%4==0&&year%100!=0 || year%400==0) 
return "29"; 
else 
return "28"; 
return "31"; 
} 
 
/* 
?????1??????2?? 
???str1?????str2???????? 
???????????true,????false 
 
*/ 
function isLastMatch(str1,str2) 
{ 
var index = str1.lastIndexOf(str2); 
if(str1.length==index+str2.length) return true; 
return false; 
} 
 
 
/* 
?????1??????2?? 
???str1?????str2???????? 
???????????true,????false 
 
*/ 
function isFirstMatch(str1,str2) 
{ 
var index = str1.indexOf(str2); 
if(index==0) return true; 
return false; 
} 
 
/* 
?????1??????2 
???str1?????str2???????? 
???????????true,????false 
 
*/ 
function isMatch(str1,str2) 
{ 
var index = str1.indexOf(str2); 
if(index==-1) return false; 
return true; 
} 
 
 
/* 
?????????????????????????????? 
?????>=???? 
??? 
startDate????????? 
endDate????????? 
??? 
????????true,????false 
 
*/ 
function checkTwoDate( startDate,endDate ) { 
if( !isDate(startDate) ) { 
alert("???????!"); 
return false; 
} else if( !isDate(endDate) ) { 
alert("???????!"); 
return false; 
} else if( startDate > endDate ) { 
alert("????????????!"); 
return false; 
} 
return true; 
} 
 
/* 
????????Email???????? 
??? 
strEmail???? 
??? 
????????true,????false 
 
*/ 
function checkEmail(strEmail) { 
//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; 
var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; 
if( emailReg.test(strEmail) ){ 
return true; 
}else{ 
alert("????Email????????"); 
return false; 
} 
}

/*
??????????????????
???
strPhone????
???
????????true,????false
 
*/
function checkPhone( strPhone ) { 
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/; 
var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/; 
var prompt = "???????????!"
if( strPhone.length > 9 ) {
if( phoneRegWithArea.test(strPhone) ){
return true; 
}else{
alert( prompt );
return false; 
}
}else{
if( phoneRegNoArea.test( strPhone ) ){
return true; 
}else{
alert( prompt );
return false; 
}
}
}

