📄 inputcheckutil.java
字号:
package com.dut.logic.logic;
import java.util.StringTokenizer;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.GregorianCalendar;
import com.dut.dao.BatchDBConnectionUtil;
import com.dut.logic.util.NumberUtil;
public class InputCheckUtil {
static public boolean BanJiao_Shuzi(String str) {
boolean flag = true;
byte[] b_str = str.getBytes();
if (b_str.length == str.length()) {
for (int i = 0; i < str.length(); i++) {
int ch = (int) str.charAt(i);
System.out.println(ch);
if ((ch - 48) >= 0 && (ch - 48) <= 9) {
flag = true;
} else {
flag = false;
break;
}
}
}
return flag;
}
/**
* ���该函数用于判断是否制定长度内的半角英数字��� 是,则返回true,否则返回false�ȉ�
*
* @param str,len
* @return boolean
* @author 赵倩
*/
static public boolean EmailHangXiaBanYing(String str, int len) {
boolean flag = false;
if (str == null || str.equals("")) {
flag = true;
} else {
flag = NumberUtil.isnotDBCcase(str);
if (flag == false) {
flag = NumberUtil.EmailEnglishOrNumberNG(str);
}
}
return flag;
}
/**
* 判断年的范围是否正确,正确返回true,错误返回false
*
* @param nen
* @return boolean
* @author 王楠楠 2006-04-07
*/
public static boolean nen_fanwei(String nen) {
// String nenY = nen.substring(0,4);
int in_nen = Integer.parseInt(nen);
if (in_nen < 1930 || in_nen > 2010) {
return false;
}
return true;
}
/**
* 将字符串转换成Date类型的函数
*
* @param str
* @return Date
* @author 刘涛 2006-04-07
*/
public static Date Turn_Date(String str) {
int Year = Integer.parseInt(str.substring(0, 4));
int Month = Integer.parseInt(str.substring(5, 7)) - 1;
int Day = Integer.parseInt(str.substring(8, 10));
GregorianCalendar g = new GregorianCalendar(Year, Month, Day);
java.sql.Date date = new java.sql.Date(g.getTime().getTime());
System.out.println("str=" + str);
return date;
}
/**
* 查询数据库中对应id的名称
*
* @param sql
* @return String
* @author 刘涛 2006-04-07
*/
public static String getDataNameThrough(String sql) {
BatchDBConnectionUtil BU2 = new BatchDBConnectionUtil();
ResultSet rs = BU2.executeQuery(sql);
String mei = null;
try {
while (rs.next()) {
mei = rs.getString(1);
break;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mei;
}
/**
* dianhua
*
* @param str
* @return
*/
static public boolean DEnglishOrNumberNG(String str) {
boolean flag = true;
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')
|| ((ch - 48) >= 0 && (ch - 48) <= 9) || (ch == '-')) {
System.out.println("ch======================" + ch);
} else {
flag = false;
break;
}
}
return flag;
}
/**
* 判断管内具对应的文本框中填写的数字是否是半角数字,是否是(如:12,14)形式,
* 是否是(如:12,12-15,23)形式,是则返回false,不是返回true
*
* @method isnotTwonumber ��������������ށA���","�a"-"�B
* @param str
* @return boolean
* @author �����王楠楠 2006-04-09
*/
public static boolean isnotTwonumber(String str) {
String[] str_no = new String[str.length()];
System.out.println("str d zhi ======>" + str);
int a1 = str.indexOf(",");
int a2 = str.indexOf("-");
System.out.println("a1 d zhi ======>" + a1);
System.out.println("a2 d zhi ======>" + a2);
/** 输入的字符串中既没有","也没有"-" */
if (a1 == -1 && a2 == -1) {
System.out.println("```````````");
if (str.length() != 2) {
return true;
} else if (str.length() == 2) {
/** 调用判断是否是数字的方法,判断是否是数字 */
boolean flag1 = NumberUtil.isnotNum(str);
System.out.println("```````````" + flag1);
if (flag1 == true) {
return true;
} else if (flag1 == false) {
if (str.equals("00")) {
return true;
}
System.out.println("!!!!!!!!!");
return false;
}
}
}
/** 输入的字符串中只有"-" */
else if (a1 == -1 && a2 != -1) {
System.out.println("&&&&");
/** 判断长度是否为5 */
if (str.length() != 5) {
System.out.println("&&&&&&&&&&&&&&&");
return true;
} else {
StringTokenizer st1 = new StringTokenizer(str, "-");
String first = st1.nextToken();
String last = st1.nextToken();
/** 调用判断是否是数字的方法,判断是否是数字 */
boolean flag2 = NumberUtil.isnotNum(first);
boolean flag3 = NumberUtil.isnotNum(last);
if (flag2 == false && flag3 == false) {
if (Integer.parseInt(first) >= Integer.parseInt(last)) {
return true;
} else {
if (first.equals("00")) {
return true;
}
return false;
}
} else {
return true;
}
}
}
/** 输入的字符串中既只有"," */
else if (a1 != -1 && a2 == -1) {
StringTokenizer st2 = new StringTokenizer(str, ",");
for (int i = 0; i < str.length(); i++) {
str_no[i] = st2.nextToken();
/** 调用判断是否是数字的方法,判断是否是数字 */
boolean ban_shu = NumberUtil.isnotNum(str_no[i]);
if (str_no[i].length() != 2) {
return true;
} else if (ban_shu == true) {
return true;
} else {
if (str_no[i].equals("00")) {
return true;
}
/** 当字符串经过截取后还有数据,则继续循环判断 */
if (st2.hasMoreTokens() == false) {
break;
} else {
continue;
}
}
}
}
/** 输入的字符串中既有"-"又有"," */
else if (a2 != -1 && a1 != -1) {
StringTokenizer st = new StringTokenizer(str, ",");
System.out.println("int d zhi shi ------>" + str.indexOf(","));
System.out.println("str d zhi ======>" + st);
int aa = 0;
/** 将通过逗号截取,将得到的字符串赋值给字符串数组 */
for (int i = 0; i < str.length(); i++) {
System.out.println("hhh");
System.out.println("aa d zhi shi =====>" + aa);
System.out.println("iiiiiii zhi shi =====>" + i);
System.out.println("length zhi shi =====>" + str.length());
aa++;
str_no[i] = st.nextToken();
System.out.println("str_no[] 5555 ====>" + str_no[i]);
/** 调用判断是否是数字的方法,判断是否是数字 */
boolean flag = NumberUtil.isnotNum(str_no[i]);
// System.out.println("flag_num =====>" + flag);
int num = str_no[i].indexOf("-");
if (num == -1) {
if (str_no[i].length() != 2) {
System.out.println("gggg");
return true;
} else if (str_no[i].length() == 2) {
System.out.println("ffff");
if (flag == false) {
if (str_no[i].equals("00")) {
return true;
}
if (st.hasMoreTokens() == false) {
break;
} else {
continue;
}
} else if (flag == true) {
return true;
}
}
} else if (num != -1) {
/** 如果含有"-",但是长度不为5,表示输入错误 */
if (str_no[i].length() != 5) {
System.out.println("cccc");
return true;
} else {
StringTokenizer st1 = new StringTokenizer(str_no[i],
"-");
String first_no = st1.nextToken();
String last_no = st1.nextToken();
System.out.println("first_no d zhi =====>" + first_no);
System.out.println("last_no d zhi =====>" + last_no);
/** 调用判断是否是数字的方法,判断是否是数字 */
boolean num_is_first = NumberUtil.isnotNum(first_no);
boolean num_is_last = NumberUtil.isnotNum(last_no);
if (num_is_first == true || num_is_last == true) {
System.out.println("........");
return true;
} else if (num_is_first == false
&& num_is_last == false) {
System.out.println(">>>>>>>");
int no1 = Integer.parseInt(first_no);
int no2 = Integer.parseInt(last_no);
System.out.println("no1 >>>>" + no1);
System.out.println("no1 >>>>" + no2);
if (no1 >= no2) {
System.out.println("vvvv");
return true;
} else {
if (no1 == 00) {
return true;
}
if (st.hasMoreTokens() == false) {
break;
} else {
continue;
}
}
}
}
}
}
}
return false;
}
/**
* ���是否是半角数字
*/
static public boolean BanShu(String str, int len) {
boolean flag = false;
// ���f���ۈה��p
flag = NumberUtil.BanJiao(str);
if (flag == true) {
flag = NumberUtil.numberNG(str);
if (flag == true) {
if (str.length() == len) {
flag = true;
} else {
flag = false;
}
}
}
return flag;
}
/**
* 是否符合EMAIL格式��
*/
static public boolean EmailNG(String str) {
boolean flag = false;
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == '@') {
flag = true;
break;
} else {
}
}
if (flag == true) {
for (int i = 0; i < str.length(); i++) {
flag = false;
if (str.charAt(i) == '.') {
flag = true;
break;
} else {
}
}
}
return flag;
}
/**
* ���该函数用于判断是否制定长度内的半角数字���
* 是,则返回true,否则返回false�ȉ�
* @param str,len
* @return boolean
* @author 赵倩
*/
static public boolean BanHangShu(String str,int len){
boolean flag=false;
/**
* 添加判断传入字符串是否为空
* @author �杨丽娟 2006-04-10�
*/
if(str == null || str.equals("")){
flag = true;
}
else{
/*判断是否是半角*/
flag=NumberUtil.isnotDBCcase(str);
if(flag==false){
flag=NumberUtil.isnotNum(str);
if(flag==false){
flag=NumberUtil.lenNG(str,len);
}
else{
flag = false;
}
}
else{
flag = false;
}
}
return flag;
}
/**
* ���该函数用于判断是否制定长度内的半角英数字���
* 是,则返回true,否则返回false�ȉ�
* @param str,len
* @return boolean
* @author 赵倩
*/
static public boolean HangXiaBanYing(String str,int len){
boolean flag=false;
/**
* 添加判断传入字符串是否为空
* @author �杨丽娟 2006-04-10�
*/
if(str == null || str.equals("")){
flag = true;
}
else{
flag=NumberUtil.isnotDBCcase(str);
if(flag==false){
flag=NumberUtil.EnglishOrNumberNG(str);
}
}
return flag;
}
/**
* 该函数用于判断字符串是否正确的日期格式��yyyy-MM-dd
* 是则返回�����ԉ�false,否则返回��true
* ���判断方法��:字符串长度为��10,�前4�ʐ����位是数字,第��5位是�ʐ�'-'
* ��第6.7�����位是数字,第8位是�ʐ�'-',第9.10������ʐ����位是数字
* @param String str��
* @return boolean
* @version 1.0 �杨丽娟 2006-04-07
*/
public static boolean isnotDateformat(String str) {
/**
* 添加判断传入字符串是否为空
* @author �杨丽娟 2006-04-10�
*/
if(str == null || str.equals("")){
return false;
}
else{
/*
* 以下代码用于判断字符串格式是否正确
*/
if (str.length() == 10) {
String Year = str.substring(0,4);
String Month = str.substring(5,7);
String Day = str.substring(8,10);
if(NumberUtil.isnotNum(Year)
||NumberUtil.isnotNum(Month)||NumberUtil.isnotNum(Day)){
return true;
}
else if(str.charAt(4)!= '-' || str.charAt(7) != '-'){
return true;
}
/**
* 添加月份及日期判断
* 包括闰年2月判断
* @author 杨丽娟 2006-04-12�
*/
else{
/*
* 以下代码用于判断日期、月份是否正确
*/
int year = Integer.parseInt(Year);
int month = Integer.parseInt(Month);
int day = Integer.parseInt(Day);
/*
* 如果月份大于12
* 判断月份大于12
* 返回true
*/
if(month > 12){
return true;
}
/*
* 如果是1、3、5、7、8、10、12月
* 判断日期是否大于31
* 如果大于31
* 返回true
*/
else if(month==1 || month==3 || month==5
|| month==7 || month==8 || month==10 || month==12){
if(day > 31){
return true;
}
}
/*
* 如果是4、6、9、11月
* 判断日期是否大于30
* 如果大于30
* 返回true
*/
else if(month==4 || month==6 || month==9 || month==11){
if(day > 30){
return true;
}
}
/*
* 如果是闰年2月
* 判断日期是否大于29
* 如果大于29
* 返回true
*/
else if(year % 4 == 0 ||
(year % 100 == 0 && year % 400 == 0)){
if(month == 2 && day > 29){
return true;
}
}
/*
* 如果非闰年的2月
* 判断日期是否大于28
* 如果大于28
* 返回true
*/
else if(month == 2 && day > 28){
return true;
}
}
return false;
}
}
return true;
}
/**
* 判断是否正确的电话格式
* 是则返回false,否则返回true
* 判断方法:第2、7位是‘-’,其它位是数字
* @param str
* @return boolean
* @author 杨丽娟 2006-04-12
*/
public static boolean isnotTel(String str) {
for (int i = 0; i < str.length(); i++) {
if (i < 2 && (str.charAt(i) > '9' || str.charAt(i) < '0')) {
return true;
} else if (i == 2 && str.charAt(i) != '-') {
return true;
} else if ((i > 2 && i < 7)
&& (str.charAt(i) > '9' || str.charAt(i) < '0')) {
return true;
} else if (i == 7 && str.charAt(i) != '-') {
return true;
} else if ((i > 7 && i < str.length())
&& (str.charAt(i) > '9' || str.charAt(i) < '0')) {
return true;
}
}
return false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -