`
bean-woo
  • 浏览: 136078 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

常用类型转换

    博客分类:
  • Util
阅读更多

package com.core.util;

 

 

 

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Random;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import java.text.ParseException;

 

import org.apache.commons.lang.StringEscapeUtils;

 

import net.sourceforge.pinyin4j.PinyinHelper;

import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;

import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;

import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;

import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

 

public class Utility {

private static final SimpleDateFormat sdf = new SimpleDateFormat(

"yyyy-MM-dd HH:mm:ss");

private static final SimpleDateFormat sdfshort = new SimpleDateFormat(

"yyyy-MM-dd");

private static final Random randoms = new Random();

/**

* yyyy-MM-dd HH:mm:ss

* @param date

* @return

*/

public static String formatDate(Date date) {

if (date == null)

return "0000-00-00 00:00:00";

 

return sdf.format(date);

}

 

/**

* yyyy-MM-dd

* @param date

* @return

*/

public static String shortFormatDate(Date date) {

if (date == null)

return "0000-00-00";

 

return sdfshort.format(date);

}

 

/**

* yyyy-MM-dd HH:mm:ss

* @param str

* @return

* @throws ParseException

*/

public static Date parseDate(String str) {

if (str == null)

return null;

 

Date date = null;

 

try {

date = sdf.parse(str);

} catch (ParseException pe) {

}

 

return date;

}

 

/**

* 判断字符是否是数字

* @param str

* @return

*/

public static boolean isNumberString(String str) {

if (str == null || str.length() == 0)

return false;

 

int i = 0;

 

while (true) {

if (i >= str.length())

break;

 

char ch = str.charAt(i);

 

if (ch > '9' || ch < '0')

break;

 

i++;

}

 

return i == str.length();

}

 

/**

* 用户名为字母、数字或下划线、并不能以数字打头和纯数字

* @param userName

* @return

*/

public static boolean isUserName(String userName) {

boolean is = true;

String regEx = "^[a-zA-Z]{1}([a-zA-Z0-9]|[_]){3,15}$";

Pattern p = Pattern.compile(regEx);

Matcher m = p.matcher(userName);

is = m.find();

return is;

}

/**

* 判断是否是邮箱地址

* @param eMail

* @return

*/

public static boolean isEmail(String eMail) {

boolean is = true;

String regEx = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";

Pattern p = Pattern.compile(regEx);

Matcher m = p.matcher(eMail);

is = m.find();

return is;

}

/**

* 防SQL注入

* @param sqlStr

* @return

*/

public static String escapeSql(String sqlStr) {

sqlStr = StringEscapeUtils.escapeSql(sqlStr);

return sqlStr;

}

/**

* 过滤request

* @param sqlStr

* @return

*/

public static String requestEscape(String str) {

if (str == null) {

return null;

}

str = Utility.escapeSql(str);

return str;

}

public static String wipescript(String html) { 

Pattern pattern1 = Pattern.compile("<script[^>]+>.*<\\/script>");

Pattern pattern2 = Pattern.compile(" href *= *[\\s\\s]*script *:");

Pattern pattern3 = Pattern.compile(" on[\\s\\s]*=");

Pattern pattern4 = Pattern.compile("<iframe[\\s\\s]+</iframe *>");

Pattern pattern5 = Pattern.compile("<frameset[\\s\\s]+</frameset *>");

Matcher matcher1 = pattern1.matcher(html);

html = matcher1.replaceAll(" ");

Matcher matcher2 = pattern2.matcher(html);

html = matcher2.replaceAll(" ");

Matcher matcher3 = pattern3.matcher(html);

html = matcher3.replaceAll(" ");

Matcher matcher4 = pattern4.matcher(html);

html = matcher4.replaceAll(" ");

Matcher matcher5 = pattern5.matcher(html);

html = matcher5.replaceAll(" ");

return html; 

}

/** 生成序号 */

public static String getRedPagerNo(String str) {

String no = Utility.formatDate(new Date());

no = no.replaceAll("-", "");

no = no.replaceAll(":", "");

no = no.replaceAll(" ", "");

String sRand = "";

for (int i = 0; i < 5; i++) {

String rand = String.valueOf(randoms.nextInt(10));

sRand += rand;

}

return str + no + sRand;

}

/**

* 把汉字转换为拼音

* @param input

* @return

*/

public static String toPinyin(String input) {

StringBuilder sb = new StringBuilder();

HanyuPinyinOutputFormat PINYIN_FORMAT = new HanyuPinyinOutputFormat();

PINYIN_FORMAT.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

PINYIN_FORMAT.setVCharType(HanyuPinyinVCharType.WITH_V);

for (int i = 0; i < input.length(); i++) {

char c = input.charAt(i);

if (c <= 255) {

sb.append(c);

} else {

String pinyin = null;

try {

String[] pinyinArray = PinyinHelper

.toHanyuPinyinStringArray(c, PINYIN_FORMAT);

pinyin = pinyinArray[0];

} catch (BadHanyuPinyinOutputFormatCombination e) {

e.printStackTrace();

} catch (NullPointerException e) {

// 如果是日文,可能抛出该异常

e.printStackTrace();

}

if (pinyin != null) {

sb.append(pinyin);

sb.append(" ");

}

}

}

return sb.toString();

}

public static Long dateToLong(Date date) {

String strDate = formatDate(date);

strDate = strDate.replaceAll("-", "");

strDate = strDate.replaceAll(":", "");

strDate = strDate.replaceAll(" ", "");

return Long.valueOf(strDate);

}

public static void main(String[] arg) {

System.out.println(Utility.wipescript("<script>var d = 0;</script>"));

}

}

分享到:
评论

相关推荐

    Delphi常用类型转换

    "Delphi常用类型转换" Delphi 中的类型转换是指将一个数据类型转换为另一个数据类型的过程。在 Delphi 中,有多种类型转换函数,可以实现不同的类型转换。下面是 Delphi 中常用的类型转换函数: 1. Chr 函数:将一...

    常用类型转换扩展_C#_扩展_类型转换_

    在C#编程中,类型转换是开发者经常遇到的操作,它涉及到不同数据类型的相互转化。本文将深入探讨C#中常见的类型转换扩展,并介绍如何通过扩展方法来增强类型转换的便捷性和可读性。 首先,我们要了解C#内置的类型...

    MySQL常用类型转换函数总结(推荐)

    连接字符串常用:concat函数。如sql查询条件的like查询, AND c.name like concat(#{param.name},’%’) 将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80’  2、Cast函数;CONVERT函数...

    C++和MFC常用类型转换类

    本篇将详细讲解C++和MFC中常用的类型转换类以及如何进行`int`、`double`、`string`、`CString`之间的转换。 1. `int`与`double`的转换: - `int`到`double`:C++提供了隐式转换,可以直接将`int`赋值给`double`,...

    java常用类型转换[文].pdf

    在Java编程语言中,数据类型转换是常见的操作,特别是在处理用户输入、数据库交互或进行算术运算时。本文主要探讨了Java中常见的类型转换方法,包括字符串与数值类型之间的转换,以及数值类型到字符串的转换。 1. *...

    Mysql中类型转换

    #### 二、常用类型转换函数 1. **CAST() 和 CONVERT()** - 这两个函数可以用来将一个表达式的值转换为另一种数据类型。 - **语法**:`CAST(表达式 AS 数据类型)` 或 `CONVERT(表达式 USING 字符集)`(仅用于字符...

    Python常用类型转换实现代码实例

    ### Python常用类型转换详解 在Python编程中,数据类型的转换是一项基本且重要的技能。通过合理的类型转换,可以更高效地处理各种数据结构和格式。本文将详细介绍Python中常见的几种类型转换方法,并通过具体的代码...

    浅析JS中常用类型转换及运算符表达式

    本篇文章将深入探讨JS中常用类型转换的方法,以及各种运算符表达式的使用。 一、JS中常用类型转换方法 类型转换是将一种数据类型转换为另一种数据类型的过程。在JS中,类型转换分为隐式转换和显式转换。显式转换又...

    VC常用数据类型转换.doc

    以下是一些关于VC常用数据类型转换的详细说明: 1. **BSTR、LPSTR 和 LPWSTR** - **BSTR**(Basic String)是OLECHAR*类型的Unicode字符串,用于自动化兼容性。它由系统API(如`SysAllocString`)管理,并包含一个...

    javascript最常用数据类型转换(最全).doc

    这些类型之间可以进行转换,以下是 JavaScript 中最常用的数据类型转换方法。 一、转为字符串 在 JavaScript 中,可以使用两种方法将其他类型转换为字符串类型:toString() 方法和 String() 方法。 1. toString()...

    c++常用变量类型的转换

    在C++编程中,数据类型转换是非常常见的操作,它有助于程序员更加灵活地处理各种数据。本文将详细介绍C++中几种常见数据类型之间的转换方法,帮助读者更好地理解和掌握这些技巧。 #### 标题:C++常用变量类型的转换...

    C#常用数据转换

    类型转换是指将一种数据类型转换为另一种数据类型的过程。在C#中,类型转换有两种主要方式:隐式转换和显式转换。 - **隐式转换**:当从位数较少的数据类型转换到位数较多的数据类型时,C#会自动进行转换,无需...

    java 常用基础类型之强制转换

    在“java 常用基础类型之强制转换”这个主题中,我们将深入探讨Java中的基本数据类型转换规则和注意事项。 1. **基本数据类型的转换** Java中有八种基本数据类型:`byte`, `short`, `int`, `long`, `float`, `...

    C++到C#数据类型转换

    C++ 到 C# 数据类型转换 在软件开发中,数据类型转换是一个非常重要的步骤,特别是在使用不同的编程语言时。C++ 和 C# 是两种非常流行的编程语言,它们之间的数据类型转换是非常必要的。本文将详细介绍 C++ 到 C# ...

    数据库中常用的数据类型转换

    "数据库中常用的数据类型转换" 在数据库应用程序中,数据类型转换是一个非常重要的知识点。由于数据库中的数据类型和应用程序中的数据类型可能不同,因此在进行数据交换时,需要进行类型转换。今天,我们将总结...

    mysql数据类型转换

    `CONVERT`函数也是实现数据类型转换的一个常用方法,特别是在处理字符类型到数字类型的转换时。 ```sql -- 示例:将字符串'123'转换为整型 SELECT CONVERT('123', SIGNED); ``` #### 五、总结:类型转换语法与...

    VC常用数据类型使用转换详解

    不同的数据类型适用于不同的应用场景,而正确地进行类型转换能够确保程序的健壮性和准确性。在实际开发中,理解并熟练运用这些转换方法,将大大提升代码的质量和效率。此外,对于高级类型如VARIANT的掌握,更是深入...

    C++常用数据类型使用转换详解

    C++常用数据类型使用转换详解

Global site tag (gtag.js) - Google Analytics