JAVA常用字符串工具类

<strong style="background-color: rgb(255, 0, 0);">常用字符串工具类</strong>




/**
 * 文字处理,上传工具 字符匹配,MD5加密算法 doget通过链接获取网络数据
 **/
public class StrUtil {
	public int CheckUpdate() {
		int UpdateType = 0;
		return UpdateType;
	}
	   
    /**
     * 判断输入的字符串参数是否为空
     * @return boolean 空则返回true,非空则flase
     */
    public static boolean isEmpty(String input) {
        return null==input || 0==input.length() || 0==input.replaceAll("\\s", "").length();
    }
    
    /**
     * 判断输入的字节数组是否为空
     * @return boolean 空则返回true,非空则flase
     */
    public static boolean isEmpty(byte[] bytes){
        return null==bytes || 0==bytes.length;
    }
    
    /**
     * 金额元转分
     * @see 注意:该方法可处理贰仟万以内的金额,且若有小数位,则不限小数位的长度
     * @see 注意:如果你的金额达到了贰仟万以上,则不推荐使用该方法,否则计算出来的结果会令人大吃一惊
     * @param amount  金额的元进制字符串
     * @return String 金额的分进制字符串
     */
    public static String moneyYuanToFen(String amount){
        if(isEmpty(amount)){
            return amount;
        }
        //传入的金额字符串代表的是一个整数
        if(-1 == amount.indexOf(".")){
            return Integer.parseInt(amount) * 100 + "";
        }
        //传入的金额字符串里面含小数点-->取小数点前面的字符串,并将之转换成单位为分的整数表示
        int money_fen = Integer.parseInt(amount.substring(0, amount.indexOf("."))) * 100;
        //取到小数点后面的字符串
        String pointBehind = (amount.substring(amount.indexOf(".") + 1));
        //amount=12.3
        if(pointBehind.length() == 1){
            return money_fen + Integer.parseInt(pointBehind)*10 + "";
        }
        //小数点后面的第一位字符串的整数表示
        int pointString_1 = Integer.parseInt(pointBehind.substring(0, 1));
        //小数点后面的第二位字符串的整数表示
        int pointString_2 = Integer.parseInt(pointBehind.substring(1, 2));
        //amount==12.03,amount=12.00,amount=12.30
        if(pointString_1 == 0){
            return money_fen + pointString_2 + "";
        }else{
            return money_fen + pointString_1*10 + pointString_2 + "";
        }
    }
    
    
    /**
     * 字节数组转为字符串
     * @see 该方法默认以ISO-8859-1转码
     * @see 若想自己指定字符集,可以使用<code>getString(byte[] data, String charset)</code>方法
     */
    public static String getString(byte[] data){
    	String str="";
		try {
			str = new String(data, "ISO-8859-1");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
        return str;
    }
    
    /**
     * HTML字符转义
     * @see 对输入参数中的敏感字符进行过滤替换,防止用户利用JavaScript等方式输入恶意代码
     * @see String input = <img src='http://t1.baidu.com/it/fm=0&gp=0.jpg'/>
     * @see HtmlUtils.htmlEscape(input);         //from spring.jar
     * @see StringEscapeUtils.escapeHtml(input); //from commons-lang.jar
     * @see 尽管Spring和Apache都提供了字符转义的方法,但Apache的StringEscapeUtils功能要更强大一些
     * @see StringEscapeUtils提供了对HTML,Java,JavaScript,SQL,XML等字符的转义和反转义
     * @see 但二者在转义HTML字符时,都不会对单引号和空格进行转义,而本方法则提供了对它们的转义
     * @return String 过滤后的字符串
     */
    public static String htmlEscape(String input) {
        if(isEmpty(input)){
            return input;
        }
        input = input.replaceAll("&", "&");
        input = input.replaceAll("<", "<");
        input = input.replaceAll(">", ">");
        input = input.replaceAll(" ", " ");
        input = input.replaceAll("'", "'");   //IE暂不支持单引号的实体名称,而支持单引号的实体编号,故单引号转义成实体编号,其它字符转义成实体名称
        input = input.replaceAll("\"", """); //双引号也需要转义,所以加一个斜线对其进行转义
        input = input.replaceAll("\n", "<br/>");  //不能把\n的过滤放在前面,因为还要对<和>过滤,这样就会导致<br/>失效了
        return input;
    }
	
	// 返回对应的时间字符串
	public static String getStrByDate(Date date) {
		String str = "";
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日'T'HH:mm:ss");
		str = sdf.format(date);
		return str;
	}


	// 匹配输入数据类型
	public static boolean matchCheck(String ins, int type) {
		String pat = "";
		switch (type) {
		case 0: // /手机号
			pat = "^1[3-8][0-9]{9}$";
			break;
		case 1:// /邮箱
			pat = "^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
			break;


		case 2: // /用户名
			pat = "^[0-9a-zA-Z]{4,12}$";
			break;
		case 3: // /密码
			pat = "^[\\s\\S]{6,18}$";
			break;
		case 4: // /中文
			pat = "^[0-9a-z\u4e00-\u9fa5|admin]{2,15}$";
			break;
		}
		Pattern p = Pattern.compile(pat);
		Matcher m = p.matcher(ins);
		return m.matches();
	}


	/*
	 * public static Boolean CheckNetwork(Context cont, String tips) { try{
	 * ConnectivityManager
	 * cwjManager=(ConnectivityManager)cont.getSystemService(
	 * cont.CONNECTIVITY_SERVICE); NetworkInfo info =
	 * cwjManager.getActiveNetworkInfo(); if (info == null &&
	 * !info.isAvailable()){ if(tips!=null&&!tips.equals("")) {
	 * Toast.makeText(cont,tips,Toast.LENGTH_LONG).show(); } return false; } }
	 * catch(Exception e) {
	 * 
	 * Toast.makeText(cont,tips,Toast.LENGTH_LONG).show(); return false; }
	 * 
	 * return true; }
	 */
	public String md5(String input) {
		String res = "";
		try {
			MessageDigest algorithm = MessageDigest.getInstance("MD5");
			algorithm.reset();
			algorithm.update(input.getBytes());
			byte[] md5 = algorithm.digest();
			String tmp = "";
			for (int i = 0; i < md5.length; i++) {
				tmp = (Integer.toHexString(0xFF & md5[i]));
				if (tmp.length() == 1) {
					res += "0" + tmp;
				} else {
					res += tmp;
				}
			}
		} catch (NoSuchAlgorithmException ex) {
		}
		return res;
	}


	
	// 方法测试
	public static void main(String[] args) {
		// try {
		// System.out.println(doGet("http://www.baidu.com"));
		// } catch (Exception e) {
		// // TODO Auto-generated catch block
		// e.printStackTrace();
		// }
		System.out.println(getStrByDate(new Date()));
	}


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值