`

Java通用字符处理类

阅读更多
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;  
    }  
  }  

分享到:
评论

相关推荐

    java通用字符串连接

    `java通用字符串连接`这个主题关注的是如何高效且灵活地将这些集合中的元素合并成一个单一的字符串,同时允许自定义连接分隔符和字符串提取规则。下面将详细解释这一知识点。 首先,字符串连接在Java中最基本的方式...

    java处理JSON格式数据的通用类

    【Java处理JSON格式数据的通用类】是一种在Java中处理JSON数据的标准方法,它能够方便地接收和返回JSON数据,解决开发过程中与JSON交互的问题。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛...

    java工具类,日志处理类

    在描述中提到的“java通用异常处理类”,可能包含了一些预定义的异常处理器,可以统一处理程序中抛出的各种异常,提高代码的可读性和可维护性。 日志处理是系统调试、监控和问题排查的重要手段。在Java中,Log类...

    项目通用java类

    3. 工具类:包含各种通用的功能,如日期时间处理、字符串操作、文件I/O等。 4. 异常处理和日志记录类:提供统一的异常处理机制和日志记录,便于调试和问题定位。 5. 可能还有配置类和接口定义,用于项目的模块化和...

    json工具类,java日期转换,字符串转换等各种工具类

    在Java编程中,工具类(Util Classes)是程序员日常工作中不可或缺的部分,它们提供了一系列静态方法,用于执行常见的任务,如JSON解析、日期处理、字符串操作等。以下是对标题和描述中涉及的知识点的详细说明: 1....

    Java通用范例开发金典

    《Java通用范例开发金典》是一本专为Java开发者准备的实践指南,它涵盖了大量Java编程中的常见问题和解决方案,旨在帮助读者更好地理解和应用Java语言。这份资源包含可直接运行的源码,使得学习过程更为直观和高效。...

    java处理JSON格式数据的通用类.pdf

    在 Java 中,处理 JSON 格式数据的常用方法有两种:一是使用 Java 自带的 JSON 处理类,二是使用第三方 JSON 处理库。Java 自带的 JSON 处理类可以使用 `java.lang.String` 类中的 `JSONObject` 和 `JSONArray` 对象...

    java与delphi 通用 DES加解密(源代码)

    在Java中,我们可以使用`javax.crypto`包提供的`Cipher`类来实现DES操作。以下是一个简单的示例: ```java import javax.crypto.Cipher; import javax.crypto.spec.DESKeySpec; import java.security.SecureRandom;...

    JAVA链接数据库的通用方法类

    这个名为"JAVA链接数据库的通用方法类"的资源提供了一个通用的Java类,可以帮助开发者便捷地与各种数据库系统(如MySQL、Oracle等)建立连接。下面我们将深入探讨这个主题,了解如何在Java中实现数据库连接以及通用...

    《Java通用范例开发金典》

    《Java通用范例开发金典》是一本专为Java开发者准备的实践指南,它涵盖了Java编程的多个核心领域,旨在帮助读者深入理解并熟练运用Java语言进行软件开发。该书的源代码是学习和参考的重要资源,能为初学者提供实际...

    java开发通用帮助类

    Java开发中的通用帮助类是程序员在日常编码过程中经常会创建或使用的工具类,它们通常包含了各种常用的、跨领域的静态方法,以提高代码复用性和开发效率。这些类往往封装了复杂或者重复的操作,使得开发者能够快速地...

    《Java通用范例》完整源代码

    《Java通用范例》完整源代码是一份宝贵的资源,它为Java学习者提供了大量实践案例,涵盖了Java编程的多个重要方面。这份源代码集合旨在帮助初学者和有经验的开发者更好地理解和应用Java语言的关键概念,同时也为实际...

    java 字符串对齐调整器

    在实际开发中,可能需要处理多个字符串的对齐问题。可以创建一个通用的方法,接受字符串、目标长度和对齐方式(左、右、居中)作为参数,然后返回对齐后的字符串。 在提供的文件列表中,`StringDemo_25.java`可能...

    Java OCR 图像智能字符识别技术,可识别中文

    总的来说,Java OCR中文字符识别技术结合了图像处理、机器学习和自然语言处理等多个领域的知识,为自动化处理大量文本信息提供了有效工具。在实际开发中,我们需要根据具体需求选择合适的OCR库,并结合优化策略,以...

    java通用API工具合集,最全中文版

    Java通用API工具合集是Java开发者的重要参考资料,它包含了Java平台标准版(Java SE)的各种类库和接口的详尽文档。这个最全中文版使得中国开发者能够更方便地理解和使用Java API,避免了语言障碍,提高了开发效率。...

    JAVA时间通用集合类

    Java提供了一系列的时间通用集合类,帮助开发者有效地管理与操作时间相关的数据。本文将深入探讨这些类,并结合提供的`ToolKit.java`源代码进行分析。 首先,Java 8引入了`java.time`包,它极大地改进了日期和时间...

    java字符集

    本文主要探讨了字符编码的基本概念以及Java编程语言如何处理不同字符集。随着信息技术的发展,字符编码技术也在不断演进,以支持全球范围内各种语言的文本表示需求。文章通过“中文”二字作为示例,介绍了几种常见的...

    java8 通用转echart方法

    总结,Java 8中创建通用的ECharts数据转换方法主要是通过处理数据结构、使用JSON序列化库(如Jackson)来转换数据。这个过程包括提取类别和系列数据、构建ECharts所需的JSON结构,并确保数据与ECharts的预期格式相...

    java文件字符编码集判断依赖.zip

    通用的文件字符编码集判断需要借助第三方包cpdetector.jar 使用Cpdetector jar包检测文件编码需要依赖antlr-2.7.7.jar、chardet-1.0.jar、jargs-1.0.jar三个jar包 本下载资源一站式全包含,并附带亲测有效的片段...

Global site tag (gtag.js) - Google Analytics