Java 通用字符处理类
代码实例:
view plaincopy to clipboardprint?
package cn.edu.hbcit.ips.util;
public class CommenBean {
/********************************************
public synchronized String HTMLcode(String TXTcode) 功能:文本替换
public synchronized String Unhtmlcode(String str) 功能:(不完全)反文本替换
public synchronized String Unhtmlcodea(String str) 功能:反文本替换
public synchronized boolean emailcheck (String email) 功能:检查一个字符串是否符合E-Mail
public synchronized boolean isemailstr(String email) 功能:检查一个字符串是否符合E-Mail
public synchronized boolean isqqstr(String qq) 功能:检查一个字符串是否符合QQ
public synchronized boolean isnumstr(String num) 功能:检查一个字符串是否为一数字串
public synchronized String userstrlow(String user) 功能:替换用户名中不合法的部分
public synchronized boolean userstrchk(String user) 功能:检查字符串是否符合用户名法则
public synchronized boolean istelstr(String tel) 功能:检查字符串是否为TEL
public synchronized boolean urlcheck(String url) 功能:检查字符串是否为URL
public synchronized String isotogbk(String iso) 功能:ISO9006-1码转换为GBK
public synchronized String gbktoiso(String gbk) 功能:GBK码转换为ISO9006-1
public synchronized String dostrcut(String oldstr,int length) 功能:按汉字长换行(英文按半个字长)
public synchronized String inttodateshow(int datenum) 功能:将1900年至时间的秒数换为日期字符串
public synchronized String nowdateshow() 功能:显示当前日期
public synchronized java.util.Date inttodate(int datenum) 功能:将秒数转换为日期
public synchronized int datetoint() 功能:将时间换为从1900年至今的秒数
public synchronized int datetoint(java.util.Date d) 功能:将时间换为从1900年至时间的秒数
public synchronized String overlengthcut(String str,int length) 功能:截取前几个字符,单位为汉字字长
public synchronized String replace(String str,String suba,String subb) 功能:字符串替换
*********************************************/
private static final String isostr = "ISO8859-1";
private static final String gbkstr = "GBK";
public CommenBean() {
}
public synchronized boolean emailcheck(String email) {
if (email == null) {
return false;
}
if (email.length() < 6) {
return false;
}
if (email.indexOf("@") < 2) {
return false;
}
if (email.indexOf(".") < 4) {
return false;
}
if (email.endsWith(".") || email.endsWith("@")) {
return false;
}
if (email.lastIndexOf("@") > email.lastIndexOf(".") - 1) {
return false;
}
if (email.lastIndexOf("@") != email.indexOf("@")) {
return false;
}
String[] lowstr = {
"\'", "\"", "\n", "&", "\t", "\r", "<", ">", "/", "\\",
"#"};
for (int i = 0; i < lowstr.length; i++) {
if (email.indexOf("lowstr") > 0) {
return false;
}
}
return true;
}
public synchronized boolean isemailstr(String email) {
if (email == null) {
return false;
}
if (email.indexOf("@") == -1 || email.indexOf(".") == -1 ||
email.length() < 6) {
return false;
}
return true;
}
public synchronized boolean isqqstr(String qq) {
if (qq == null) {
return false;
}
if (qq.length() > 12) {
return false;
}
if (qq.length() < 5) {
return false;
}
for (int i = 0; i < qq.length(); i++) {
if (!(((int) qq.charAt(i)) <= 57 && ((int) qq.charAt(i)) >= 48)) {
return false;
}
}
return true;
}
public synchronized boolean isnumstr(String num) {
if (num == null) {
return false;
}
if (num.length() < 1) {
return false;
}
for (int i = 0; i < num.length(); i++) {
if (!(((int) num.charAt(i)) <= 57 && ((int) num.charAt(i)) >= 48)) {
return false;
}
}
return true;
}
public synchronized String userstrlow(String user) {
String newuserstr = user.trim();
char[] lowstr = {
'\'', '\"', '\n', '&', '\t', '\r', '<', '>', '/', '\\', '#'};
for (int i = 0; i < lowstr.length; i++) {
newuserstr = newuserstr.replace(lowstr[i], '+');
}
return newuserstr;
}
public synchronized boolean userstrchk(String user) {
String newuserstr = user.trim();
char[] lowstr = {
'\'', '\"', '\n', '&', '\t', '\r', '<', '>', '/', '\\', '#',
'~', '`', '!', '@', '$', '%', '^', '*', '(', ')', '-', '_',
'+', '=', '|', '?', ',', ';', '.'};
for (int i = 0; i < lowstr.length; i++) {
newuserstr = newuserstr.replace(lowstr[i], '+');
}
return (user.equals(newuserstr)) ? true : false;
}
public synchronized boolean istelstr(String tel) {
if (tel == null) {
return false;
}
if (tel.length() < 1) {
return false;
}
if (tel.length() > 32) {
return false;
}
for (int i = 0; i < tel.length(); i++) {
if (!(((int) tel.charAt(i)) <= 57 && ((int) tel.charAt(i)) >= 48)) {
if (tel.charAt(i) != '-') {
return false;
}
}
}
return true;
}
public synchronized boolean urlcheck(String url) {
if (url == null) {
return false;
}
if (url.length() < 10) {
return false;
}
String urls = url.toLowerCase();
if (!urls.startsWith("http://")) {
return false;
}
if (url.indexOf("<") > 0 || url.indexOf(">") > 0) {
return false;
}
return true;
}
public synchronized String isotogbk(String iso) throws Exception {
if (iso != null) {
return (new String(iso.getBytes(isostr), gbkstr));
}
if (iso.length() < 1) {
return "";
}
return null;
}
public synchronized String gbktoiso(String gbk) throws Exception {
if (gbk != null) {
return (new String(gbk.getBytes(gbkstr), isostr));
}
if (gbk.length() < 1) {
return "";
}
return null;
}
public synchronized String HTMLcode(String TXTcode) {
String newstr = "";
if (TXTcode == null) {
return "";
}
newstr = TXTcode;
newstr = replace(newstr, "&", "&");
newstr = replace(newstr, "\"", """);
newstr = replace(newstr, " ", " ");
newstr = replace(newstr, "<", "<");
newstr = replace(newstr, ">", ">");
newstr = replace(newstr, "\'", "'");
return newstr;
}
public synchronized String Unhtmlcode(String str) {
String newstr = "";
if (str == null) {
return "";
}
if (str.length() < 1) {
return "";
}
newstr = str;
newstr = replace(newstr, "&", "&");
//newstr=replace(newstr,""","\"");
newstr = replace(newstr, " ", " ");
newstr = replace(newstr, """, "\"");
//newstr=replace(newstr,"<","<");
//newstr=replace(newstr,">",">");
newstr = replace(newstr, "'", "\'");
return newstr;
}
public synchronized String Unhtmlcodea(String str) {
String newstr = "";
if (str == null) {
return "";
}
if (str.length() < 1) {
return "";
}
newstr = str;
newstr = replace(newstr, "&", "&");
newstr = replace(newstr, """, "\"");
newstr = replace(newstr, " ", " ");
newstr = replace(newstr, "<", "<");
newstr = replace(newstr, ">", ">");
newstr = replace(newstr, "'", "\'");
return newstr;
}
public synchronized String dostrcut(String oldstr, int length) {
int i = 0;
int j = 0;
int k = 0;
String newstr = "";
if (oldstr == null) {
return "";
}
if (length <= 0) {
return "";
}
for (i = 0; i < oldstr.length(); i++) {
if (oldstr.charAt(i) == '\n') {
j = 0;
}
else if (((int) (oldstr.charAt(i))) > 255) {
j += 2;
}
else {
j++;
}
if ((j / 2) >= length) {
newstr = newstr.concat(oldstr.substring(k, i) + "\n");
k = i;j = 0;
}
}
newstr = newstr.concat(oldstr.substring(k) + "\n");
return newstr;
}
public synchronized String inttodateshow(int datenum) {
int year = 0;
int month = 0;
int day = 0;
int hour = 0;
int minute = 0;
int second = 0;
String datestr = "";
java.util.Date d;
d = new java.util.Date((long) (datenum) * 1000);
java.util.Calendar ds = java.util.Calendar.getInstance();
ds.setTime(d);
year = ds.get(java.util.Calendar.YEAR);
month = ds.get(java.util.Calendar.MONTH);
day = ds.get(java.util.Calendar.DATE);
hour = ds.get(java.util.Calendar.HOUR_OF_DAY);
minute = ds.get(java.util.Calendar.MINUTE);
second = ds.get(java.util.Calendar.SECOND);
datestr = Integer.toString(year) + "/" + Integer.toString(1 + month) + "/" +
Integer.toString(day);
return datestr;
}
public synchronized String nowdateshow() {
int year = 0;
int month = 0;
int day = 0;
int hour = 0;
int minute = 0;
int second = 0;
String datestr = "";
java.util.Calendar ds = java.util.Calendar.getInstance();
year = ds.get(java.util.Calendar.YEAR);
month = ds.get(java.util.Calendar.MONTH);
day = ds.get(java.util.Calendar.DATE);
hour = ds.get(java.util.Calendar.HOUR_OF_DAY);
minute = ds.get(java.util.Calendar.MINUTE);
second = ds.get(java.util.Calendar.SECOND);
datestr = Integer.toString(year) + "/" + Integer.toString(1 + month) + "/" +
Integer.toString(day);
return datestr;
}
public synchronized java.util.Date inttodate(int datenum) {
int year = 0;
int month = 0;
int day = 0;
String datestr = "";
java.util.Date d;
d = new java.util.Date((long) (datenum) * 1000);
return d;
}
public synchronized int datetoint() {
java.util.Date d = null;
long ds = 0;
d = new java.util.Date();
ds = d.getTime();
return (int) (ds / 1000);
}
public synchronized int datetoint(java.util.Date d) {
long ds = 0;
ds = d.getTime();
return (int) (ds / 1000);
}
public synchronized String overlengthcut(String str, int length) {
int i = 0;
int j = 0;
if (str == null) {
return "";
}
if (length < 0) {
return "";
}
if (str.length() <= length) {
return str;
}
for (i = 0; i < str.length(); i++) {
if (((int) (str.charAt(i))) > 255) {
j += 2;
}
else {
j++;
}
if ((j / 2) >= length) {
return str.substring(0, i);
}
}
return str;
}
public synchronized String replace(String str, String suba, String subb) {
String newstr = "";
int start = 0;
int offset = 0;
int subalength = 0;
int strlength = 0;
if (str == null || suba == null || subb == null) {
return str;
}
if (suba.equals(subb)) {
return str;
}
if (str.length() < suba.length() || str.length() < subb.length()) {
return str;
}
if (str.length() > 0 && suba.length() > 0 && subb.length() > 0) {
subalength = suba.length();
strlength = str.length();
while (true) {
if (str.indexOf(suba) < 0) {
break;
}
if (offset > strlength) {
break;
}
start = str.indexOf(suba, offset);
if (start < offset) {
break;
}
newstr = newstr.concat(str.substring(offset, start));
newstr = newstr.concat(subb);
offset = start + subalength;
}
newstr = newstr.concat(str.substring(offset));
return newstr;
}
else {
return str;
}
}
}