📄 simplevalidation.java
字号:
/*
* Program Name : com.leeman.common.util.SimpleValidation
* Program Type : Java 1.3 Class Library
* Dependency : NIL
* Description : Formatter class to convert value to formatted value.
* Author : KI LEE
* Creation Date : 24 Oct 2003
* Amendment His.: DD MMM YYYY (XXXXX) <<Resp. Person>> <<Ref. No.>>
* <<Brief Descriptions>>
* Last Revision : 24 Oct 2003
*/
package com.leeman.common.util;
public class SimpleValidation {
public static final String[] MONTH_LONG_NAME = new String[]{"January","February","March","April","May","June","July","August","September","October","November","December"};
public static final String[] MONTH_SHORT_NAME = new String[]{"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
public static final String[] MONTH_NAME = new String[]{"01","02","03","04","05","06","07","08","09","10","11","12"};
/* Function Name : isNumeric
* Input Para : String data - String to be checked
* Out Para : Boolean - True if Valid or False if Invalid
*/
public static boolean isNumeric(String data)
{
try
{
return !((new Double(data)).isNaN());
}
catch (Exception ex)
{
return false;
}
}
/* Function Name : isInteger
* Input Para : String data - String to be checked
* Out Para : Boolean - True if Valid or False if Invalid
*/
public static boolean isInteger(String data)
{
try
{
int testInt = Integer.parseInt(data);
return true;
}
catch (NumberFormatException ex)
{
return false;
}
}
/* Function Name : isDouble
* Input Para : String data - String to be checked
* Integer type - Integer to specific the parts length
* Out Para : Boolean - True if Valid or False if Invalid
*/
public static boolean isDouble(String data, int type)
{
return isDouble(data, type, 0, 0);
}
public static boolean isDouble(String data, int digitlen, int dplacelen)
{
return isDouble(data, -1, digitlen, dplacelen);
}
private static boolean isDouble(String data, int type, int inputDigitlen, int inputDplacelen)
{
int digitlen;
int dplacelen;
int digitpos;
String digit;
String dplace;
String numPart;
if (type == 0)
{
digitlen = 9;
dplacelen = 0;
}
else if (type == 1)
{
digitlen = 9;
dplacelen = 2;
}
else if (type == 2)
{
digitlen = 9;
dplacelen = 3;
}
else if (type == 3)
{
digitlen = 9;
dplacelen = 4;
}
else
{
digitlen = inputDigitlen;
dplacelen = inputDplacelen;
}
try
{
if (!((new Double(data)).isNaN()))
{
if (data.substring(0,1).equals("-"))
{
numPart = data.substring(1);
}
else
{
numPart = data;
}
digitpos = numPart.indexOf(".");
if ((digitpos == -1) || (digitpos == numPart.length()))
{
digit = numPart;
dplace = "";
}
else
{
digit = numPart.substring(0, digitpos);
dplace = numPart.substring(digitpos + 1);
}
if (isPartValid(digit, digitlen) && isPartValid(dplace, dplacelen))
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
catch (Exception ex)
{
return false;
}
}
/* Function Name : isPartValid
* Input Para : String data - String to be checked
* Integer type - Integer to specific the parts length
* Out Para : Boolean - True if Valid or False if Invalid
*/
public static boolean isPartValid(String digit, int partlen)
{
String strValidChars = "0123456789";
char strChar;
boolean blnResult = true;
if (digit.length() == 0) return false;
if (digit.length() > partlen) return false;
for (int chrPos = 0; chrPos < digit.length() && blnResult == true; chrPos++)
{
strChar = digit.charAt(chrPos);
if (strValidChars.indexOf(strChar) == -1)
{
blnResult = false;
}
}
return blnResult;
}
public static boolean isTxtTimeToMin(String data)
{
if (data == null || data.indexOf(":") < 0){
return false;
}
else
{
String hourPart = data.substring(0,data.indexOf(":"));
String minPart = data.substring(data.indexOf(":") + 1, data.length());
try{
int hour = Integer.parseInt(hourPart);
int min = Integer.parseInt(minPart);
if (hour > 24 || min > 59)
{
return false;
}
else
{
return true;
}
}
catch(Exception ex){
return false;
}
}
}
/* Function Name : isTxtDate
* Input Para : String data - String to be checked ('DD-MM-YYYY')
* Out Para : Boolean - True if Valid or False if Invalid
*/
public static boolean isTxtDate(String data)
{
boolean validFormat = true;
boolean blnFound = false;
int dayNum = 0;
int monthNum = 0;
int yearNum = 0;
String[] dateArr = Formatter.split(data.replace(' ', '/').replace('-', '/'),"/");
try
{
if (dateArr.length != 3)
{
validFormat = false;
}
else
{
for (int chkArr = 0; chkArr < dateArr.length; chkArr++)
{
if (isInteger(dateArr[chkArr]))
{
if (chkArr == 0) dayNum = Integer.parseInt(dateArr[chkArr], 10);
else if (chkArr == 1)
{
monthNum = Integer.parseInt(dateArr[chkArr], 10);
}
else if (chkArr == 2)
{
yearNum = Integer.parseInt(dateArr[chkArr], 10);
}
}
else
{
blnFound = false;
for (int chkStrArr = 0; chkStrArr < MONTH_LONG_NAME.length; chkStrArr++)
{
if (dateArr[chkArr].toUpperCase().equals(MONTH_LONG_NAME[chkStrArr].toUpperCase()))
{
blnFound = true;
if (chkArr == 0) dayNum = chkStrArr + 1;
else if (chkArr == 1)
{
monthNum = chkStrArr + 1;
}
else if (chkArr == 2)
{
yearNum = chkStrArr + 1;
}
}
}
if (!blnFound)
{
for (int chkStrArr = 0; chkStrArr < MONTH_SHORT_NAME.length; chkStrArr++)
{
if (dateArr[chkArr].toUpperCase().equals(MONTH_SHORT_NAME[chkStrArr].toUpperCase()))
{
blnFound = true;
if (chkArr == 0) dayNum = chkStrArr + 1;
else if (chkArr == 1)
{
monthNum = chkStrArr + 1;
}
else if (chkArr == 2)
{
yearNum = chkStrArr + 1;
}
}
}
}
}
}
if (!isDayValid(dayNum, monthNum, yearNum))
{
validFormat = false;
}
if (!isMonthValid(monthNum))
{
validFormat = false;
}
if (!isYearValid(yearNum))
{
validFormat = false;
}
}
return validFormat;
}
catch (NumberFormatException ex)
{
return false;
}
}
/* Function Name : isTxtMonthYear
* Input Para : String data - String to be checked ('MM-YYYY')
* Out Para : Boolean - True if Valid or False if Invalid
*/
public static boolean isTxtMonthYear(String data)
{
boolean validFormat = true;
boolean blnFound = false;
int monthNum = 0;
int yearNum = 0;
String[] dateArr = Formatter.split(data.replace(' ', '/').replace('-', '/'),"/");
try
{
if (dateArr.length != 2)
{
validFormat = false;
}
else
{
for (int chkArr = 0; chkArr < dateArr.length; chkArr++)
{
if (isInteger(dateArr[chkArr]))
{
if (chkArr == 0)
{
monthNum = Integer.parseInt(dateArr[chkArr], 10);
}
else if (chkArr == 1)
{
yearNum = Integer.parseInt(dateArr[chkArr], 10);
}
}
else
{
blnFound = false;
for (int chkStrArr = 0; chkStrArr < MONTH_LONG_NAME.length; chkStrArr++)
{
if (dateArr[chkArr].toUpperCase().equals(MONTH_LONG_NAME[chkStrArr].toUpperCase()))
{
blnFound = true;
if (chkArr == 0) monthNum = chkStrArr + 1;
else if (chkArr == 1)
{
yearNum = chkStrArr + 1;
}
}
}
if (!blnFound)
{
for (int chkStrArr = 0; chkStrArr < MONTH_SHORT_NAME.length; chkStrArr++)
{
if (dateArr[chkArr].toUpperCase().equals(MONTH_SHORT_NAME[chkStrArr].toUpperCase()))
{
blnFound = true;
if (chkArr == 0) monthNum = chkStrArr + 1;
else if (chkArr == 1)
{
yearNum = chkStrArr + 1;
}
}
}
}
}
}
if (!isMonthValid(monthNum))
{
validFormat = false;
}
if (!isYearValid(yearNum))
{
validFormat = false;
}
}
return validFormat;
}
catch (NumberFormatException ex)
{
return false;
}
}
public static boolean isDayValid(int dayNum, int monthNum, int yearNum)
{
boolean validFormat = true;
if ((dayNum <= 0) || (dayNum > 31))
{
return false;
}
if ((dayNum == 31) && ((monthNum == 4) || (monthNum == 6) || (monthNum == 9) || (monthNum == 11)))
{
return false;
}
if ((dayNum >= 30) && (monthNum == 2))
{
return false;
}
if ((dayNum == 29) && (monthNum == 2))
{
if (!((yearNum % 4 == 0) && ((yearNum % 100 != 0) || (yearNum % 400 == 0))))
{
return false;
}
}
return validFormat;
}
public static boolean isMonthValid(int monthNum)
{
boolean validFormat = true;
if ((monthNum <= 0) || (monthNum > 12))
{
validFormat = false;
}
return validFormat;
}
public static boolean isYearValid(int yearNum)
{
boolean validFormat = true;
if (yearNum == 0)
{
validFormat = false;
}
return validFormat;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -