public class myArray{
//初始化數組變量
char[] cNum = {´1´,´2´,´3´,´4´,´5´,´6´,´7´,´8´,´9´,´0´};
char[] cStr = {´a´,´b´,´c´,´d´,´e´,´f´,´g´,´h´,
´i´,´j´,´k´,´l´,´m´,´n´,´o´,´p´,
´q´,´r´,´s´,´t´,´u´,´v´,´w´,´x´,´y´,´z´};
int[] iMonth = {31,28,31,30,31,30,31,31,30,31,30,31};
String[] sMail = {"@","."};
/**
*<br>方法說明:校驗電子郵件
*<br>輸入參數:String sPara 被校驗的電子郵件字符
*<br>返回類型:boolean 如果校驗的格式符合電子郵件格式返回true;否則返回false
*/
public boolean isMail(String sPara){
for(int i=0;i<sMail.length;i++){
if(sPara.indexOf(sMail[i])==-1)
return false;
}
return true;
}
/**
*<br>方法說明:判斷是否是數字
*<br>輸入參數:String sPara。 需要判斷的字符串
*<br>返回類型:boolean。如果都是數字類型,返回true;否則返回false
*/
public boolean isNumber(String sPara){
int iPLength = sPara.length();
for(int i=0;i<iPLength;i++){
char cTemp = sPara.charAt(i);
boolean bTemp = false;
for(int j=0;j<cNum.length;j++){
if(cTemp==cNum[j]){
bTemp = true;
break;
}
}
if(!bTemp) return false;
}
return true;
}
/**
*<br>方法說明:判斷是否都是英文字符
*<br>輸入參數:String sPara。要檢查的字符
*<br>返回類型:boolean。如果都是字符返回true;反之為false
*/
public boolean isString(String sPara){
int iPLength = sPara.length();
for(int i=0;i<iPLength;i++){
char cTemp = sPara.charAt(i);
boolean bTemp = false;
for(int j=0;j<cStr.length;j++){
if(cTemp==cStr[j]){
bTemp = true;
break;
}
}
if(!bTemp) return false;
}
return true;
}
/**
*<br>方法說明:判斷是否是閏年
*<br>輸入參數:int iPara。要判斷的年份
*<br>返回類型:boolean。如果是閏年返回true,否則返回false
*/
public boolean chickDay(int iPara){
return iPara%100==0&&iPara%4==0;
}
/**
*<br>方法說明:檢查日期格式是否正確
*<br>輸入參數:String sPara。要檢查的日期字符
*<br>返回類型:int。0 日期格式正確,-1 月或這日不合要求, -2 年月日格式不正確
*/
public int chickData(String sPara){
boolean bTemp = false;
//所輸入日期長度不正確
if(sPara.length()!=10) return -2;
//獲取年
String sYear = sPara.substring(0,4);
//判斷年是否為數字
if(!isNumber(sYear)) return -2;
//獲取月份
String sMonth = sPara.substring(5,7);
//判斷月份是否為數字
if(!isNumber(sMonth)) return -2;
//獲取日
String sDay = sPara.substring(8,10);
//判斷日是否為數字
if(!isNumber(sDay)) return -2;
//將年、月、日轉換為數字
int iYear = Integer.parseInt(sYear);
int iMon = Integer.parseInt(sMonth);
int iDay = Integer.parseInt(sDay);
if(iMon>12) return -1;
//閏年二月處理
if(iMon==2&&chickDay(iYear)){
if(iDay>29) return 2;
}else{
if(iDay>iMonth[iMon-1]) return -1;
}
return 0;
}
/**
*<br>方法說明:主方法,測試用
*<br>輸入參數:
*<br>返回類型:
*/
public static void main(String[] arges){
myArray mA = new myArray();
//校驗郵件地址
boolean bMail = mA.isMail("[email protected]");
System.out.println("1 bMail is "+bMail);
bMail = mA.isMail("tom@163com");
System.out.println("2 bMail is "+bMail);
//演示是否是數字
boolean bIsNum = mA.isNumber("1234");
System.out.println("1:bIsNum="+bIsNum);
bIsNum = mA.isNumber("123r4");
System.out.println("2:bIsNum="+bIsNum);
//演示是否是英文字符
boolean bIsStr = mA.isString("wer");
System.out.println("1:bIsStr="+bIsStr);
bIsStr = mA.isString("wer3");
System.out.println("2:bIsStr="+bIsStr);
//演示檢查日期
int iIsTime = mA.chickData("2003-12-98");
System.out.println("1:iIsTime="+iIsTime);
iIsTime = mA.chickData("2003-111-08");
System.out.println("2:iIsTime="+iIsTime);
iIsTime = mA.chickData("2003-10-08");
System.out.println("3:iIsTime="+iIsTime);
iIsTime = mA.chickData("2000-02-30");
System.out.println("4:iIsTime="+iIsTime);
}
}